|
| | GeometryUtilities (const GeometryUtilitiesConfig &configuration) |
| |
| | ~GeometryUtilities () |
| |
| double | Tolerance1D () const |
| |
| double | Tolerance1DSquared () const |
| |
| double | Tolerance2D () const |
| |
| double | Tolerance3D () const |
| |
| double | RelativeDifference (const double &first, const double &second, const double &tolerance) const |
| |
| CompareTypes | CompareValues (const double &first, const double &second, const double &tolerance) const |
| | Compare two values according to tolerance.
|
| |
| bool | AreValuesEqual (const double &first, const double &second, const double &tolerance) const |
| | Check if two values are equal according to tolerance.
|
| |
| bool | IsValueGreater (const double &first, const double &second, const double &tolerance) const |
| |
| bool | IsValueGreaterOrEqual (const double &first, const double &second, const double &tolerance) const |
| |
| bool | IsValueLower (const double &first, const double &second, const double &tolerance) const |
| |
| bool | IsValueLowerOrEqual (const double &first, const double &second, const double &tolerance) const |
| |
| bool | IsValuePositive (const double &value, const double &tolerance) const |
| |
| bool | IsValueNegative (const double &value, const double &tolerance) const |
| |
| bool | IsValueZero (const double &value, const double &tolerance) const |
| |
| Eigen::MatrixXd | fibonacci_sphere (const unsigned int num_points) const |
| |
| Eigen::MatrixXd | generate_uniform_random_points_in_sphere (const unsigned int num_points, const double radius=1.0) const |
| |
| std::vector< double > | EquispaceCoordinates (const double &step, const bool &insertExtremes) const |
| |
| std::vector< double > | EquispaceCoordinates (const unsigned int &size, const double &origin, const double &end, const bool &insertExtremes) const |
| |
| std::vector< double > | RandomCoordinates (const unsigned int size, const bool insertExtremes, const double &minDistance, const unsigned int seed=time(nullptr)) const |
| |
| double | PolarAngle (const Eigen::Vector3d &v_prev, const Eigen::Vector3d &v, const Eigen::Vector3d &v_next, const double &norm_v_prev_v, const double &norm_v_next_v) const |
| |
| double | Angle (const Eigen::Vector3d &v_prev, const Eigen::Vector3d &v, const Eigen::Vector3d &v_next, const double &norm_v_prev_v, const double &norm_v_next_v) const |
| |
| double | AngleRadiansToDegree (const double &rad_angle) const |
| |
| double | AngleDegreeToRadians (const double °_angle) const |
| |
| double | PointDistance (const Eigen::Vector3d &firstPoint, const Eigen::Vector3d &secondPoint) const |
| | compute the Point distance
|
| |
| Eigen::VectorXd | PointDistances (const Eigen::MatrixXd &points, const Eigen::Vector3d &point) const |
| | compute the distance between a point and a list of points
|
| |
| Eigen::MatrixXd | PointsDistance (const Eigen::MatrixXd &points) const |
| |
| Eigen::MatrixXd | PointsBoundingBox (const Eigen::MatrixXd &points) const |
| |
| bool | IsPointInBoundingBox (const Eigen::Vector3d &point, const Eigen::MatrixXd &boudingBox) const |
| |
| bool | BoundingBoxesIntersects (const Eigen::MatrixXd &boudingBox_1, const Eigen::MatrixXd &boudingBox_2) const |
| |
| double | PointsMaxDistance (const Eigen::MatrixXd &points) const |
| |
| bool | IsPointZero (const Eigen::Vector3d &point) const |
| |
| bool | PointsAreCoincident (const Eigen::Vector3d &firstPoint, const Eigen::Vector3d &secondPoint) const |
| |
| std::vector< unsigned int > | FindPointInPoints (const Eigen::MatrixXd &points, const Eigen::Vector3d &point) const |
| | Find a point in point list.
|
| |
| double | PointLineDistance (const Eigen::Vector3d &point, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &normalToLine) const |
| | Compute the distance between a point and a line.
|
| |
| bool | PointIs2D (const Eigen::Vector3d &point) const |
| |
| bool | PointsAre2D (const Eigen::MatrixXd &points) const |
| |
| double | PointCurvilinearCoordinate (const Eigen::Vector3d &point, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | compute the Point Curvilinear Coordinate of segment
|
| |
| double | PointLineCurvilinearCoordinate (const Eigen::Vector3d &point, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &lineTangent, const double &lineTangentSquaredLength) const |
| | compute the Point Curvilinear Coordinate of line
|
| |
| bool | IsPointOnLine (const Eigen::Vector3d &point, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &lineTangent, const double &lineTangentSquaredLength) const |
| |
| PointSegmentPositionTypes | PointSegmentPosition (const Eigen::Vector3d &point, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | Compute point position respect to a segment.
|
| |
| PointSegmentPositionTypes | PointSegmentPosition (const double &curvilinearCoordinate) const |
| | Compute point position on a segment line given the curvilinear Coordinate.
|
| |
| double | PointSegmentProjection (const Eigen::Vector3d &point, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | Project point on a segment line.
|
| |
| double | PointPlaneDistance (const Eigen::Vector3d &point, const std::array< Eigen::Vector3d, 3 > &planePoints) const |
| | Compute point position respect to a plane formed by 3 points.
|
| |
| double | PointPlaneDistance (const Eigen::Vector3d &point, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin) const |
| | Compute point position respect to a plane normal.
|
| |
| PointPlanePositionTypes | PointPlanePosition (const double &pointPlaneDistance) const |
| | Compute point position respect to a plane.
|
| |
| bool | IsPointOnPlane (const double &pointPlaneDistance) const |
| |
| bool | IsPointOnPlane (const Eigen::Vector3d &point, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin) const |
| |
| double | SegmentLength (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| |
| Eigen::Vector3d | SegmentTangent (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| |
| Eigen::Vector3d | SegmentNormal (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| |
| double | SegmentSlope (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | Compute the segment slope m of line y = m * x + q.
|
| |
| double | SegmentIntercept (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | Compute the segment intercept q of line y = m * x + q.
|
| |
| Eigen::MatrixXi | MakeConcatenation (const Eigen::MatrixXi &segments, const unsigned int starting_vertex) const |
| |
| bool | CheckNoSpheresIntersection (const Eigen::Vector3d &firstSphereCenter, const Eigen::Vector3d &secondSphereCenter, const double &firstSphereDiameter, const double &secondSphereDiameter) const |
| | Check if two spheres do not intersect.
|
| |
| bool | CheckTrianglesIntersection (const Eigen::MatrixX3d &triangle_one, const Eigen::MatrixX3d &triangle_two, const bool admit_boundary=true) const |
| |
| bool | AreLineCoplanar (const Eigen::Vector3d &firstLineOrigin, const Eigen::Vector3d &firstLineTangent, const Eigen::Vector3d &secondLineOrigin, const Eigen::Vector3d &secondLineTangent) const |
| |
| bool | IsPolygonCoplanar (const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin, const Eigen::MatrixXd &polygonVertices, const std::vector< unsigned int > &polygonUnalignedVertices) const |
| | verify if the polygon is in the coplana to a plane
|
| |
| IntersectionSegmentSegmentResult | IntersectionSegmentSegment (const Eigen::Vector3d &firstSegmentOrigin, const Eigen::Vector3d &firstSegmentEnd, const Eigen::Vector3d &secondSegmentOrigin, const Eigen::Vector3d &secondSegmentEnd) const |
| | Compute the intersection between the two segments.
|
| |
| std::vector< std::list< double > > | IntersectionsBetweenSegments (const std::vector< Eigen::MatrixXd > &segmentsVertices, const std::vector< Eigen::Vector3d > &segmentsTangent, const std::vector< Eigen::Vector3d > &segmentsBarycenter, const std::vector< double > &segmentsLength) const |
| | Compute the intersection between a collection of segments.
|
| |
| Gedim::GeometryUtilities::IntersectionSegmentCircleResult | IntersectionSegmentCircle (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::Vector3d &circleCenter, const double &circleRadius) const |
| | Compute the intersection between the a segment and a circle.
|
| |
| Gedim::GeometryUtilities::IntersectionSegmentPlaneResult | IntersectionSegmentPlane (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin) const |
| | Intersection between a Segment, represented by origin and end and a plane represented by the normal and a point.
|
| |
| Gedim::GeometryUtilities::IntersectionPolyhedronPlaneResult | IntersectionPolyhedronPlane (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin, const Eigen::Matrix3d &planeRotationMatrix, const Eigen::Vector3d &planeTranslation) const |
| | Intersection between a Polyhedron and a Plane.
|
| |
| Gedim::GeometryUtilities::SplitPolyhedronWithPlaneResult | SplitPolyhedronWithPlane (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::MatrixXd > &polyhedronFaceEdgeTangents, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin, const Eigen::Matrix3d &planeRotationMatrix, const Eigen::Vector3d &planeTranslation) const |
| |
| std::vector< GeometryUtilities::Polyhedron > | SplitPolyhedronWithPlaneResultToPolyhedra (const SplitPolyhedronWithPlaneResult &result) const |
| |
| IntersectionPolyhedronLineResult | IntersectionPolyhedronLine (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< bool > &polyhedronFaceNormalDirections, const Eigen::Vector3d &lineTangent, const Eigen::Vector3d &lineOrigin) const |
| | Intersection between a Polyhedron and a line.
|
| |
| Gedim::GeometryUtilities::IntersectionPolyhedronLineResult | IntersectionPolyhedronSegment (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::Vector3d &segmentTangent, const IntersectionPolyhedronLineResult &polyhedronLineIntersections) const |
| | Intersection between a Polyhedron and a segment.
|
| |
| Gedim::GeometryUtilities::IntersectionPolyhedronsSegmentResult | IntersectionPolyhedronsSegment (const std::vector< Polyhedron > &polyhedrons, const std::vector< std::vector< Eigen::Vector3d > > &polyhedronFaceNormals, const std::vector< std::vector< bool > > &polyhedronFaceNormalDirections, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::Vector3d &segmentTangent) const |
| | Intersection between a collectio of Polyhedrons and a segment.
|
| |
| Gedim::GeometryUtilities::PointPolygonPositionResult | PointPolygonPosition (const Eigen::Vector3d &point, const Eigen::MatrixXd &polygonVertices) const |
| | Check if point is inside a polygon.
|
| |
| Gedim::GeometryUtilities::PointPolygonPositionResult | PointPolygonPosition_RayCasting (const Eigen::Vector3d &point, const Eigen::MatrixXd &polygonVertices) const |
| |
| bool | IsPointInsidePolygon (const Eigen::Vector3d &point, const Eigen::MatrixXd &polygonVertices) const |
| |
| bool | IsPointInsidePolygon_RayCasting (const Eigen::Vector3d &point, const Eigen::MatrixXd &polygonVertices) const |
| | IsPointInsidePolygon using RayCasting algorithm (see https://en.wikipedia.org/wiki/Point_in_polygon)
|
| |
| LinePolygonPositionResult | LinePolygonPosition (const Eigen::Vector3d &lineTangent, const Eigen::Vector3d &lineOrigin, const Eigen::MatrixXd &polygonVertices) const |
| |
| Gedim::GeometryUtilities::PointPolyhedronPositionResult | PointPolyhedronPosition (const Eigen::Vector3d &point, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::MatrixXd > &polyhedronFaceRotatedVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< bool > &polyhedronFaceNormalDirections, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices) const |
| | Check if point is inside a polygon.
|
| |
| Gedim::GeometryUtilities::PointPolyhedronPositionResult | PointPolyhedronPosition (const Eigen::Vector3d &point, const std::vector< Eigen::MatrixXi > &polyhedron_faces, const std::vector< Eigen::MatrixXd > &polyhedron_faces_3D_vertices, const std::vector< Eigen::MatrixXd > &polyhedron_faces_2D_vertices, const std::vector< Eigen::Vector3d > &polyhedron_faces_normals, const std::vector< bool > &polyhedron_faces_normal_direction, const std::vector< Eigen::Vector3d > &polyhedron_faces_translation, const std::vector< Eigen::Matrix3d > &polyhedron_faces_rotation_matrix, const std::vector< Eigen::MatrixXd > &polyhedron_tetrahedrons) const |
| | Check if point is inside a polyhedron.
|
| |
| bool | IsPointInsideTetrahedron (const Eigen::MatrixXd &tetrahedron, const Eigen::Vector3d &point) const |
| |
| PointCirclePositionResult | PointCirclePosition (const Eigen::Vector3d &point, const Eigen::Vector3d &circleCenter, const double &circleRadius) const |
| | Check if point is inside a circle.
|
| |
| std::vector< PointCirclePositionResult > | PointCirclePositions (const Eigen::MatrixXd &points, const Eigen::Vector3d &circleCenter, const double &circleRadius) const |
| | Check if points are inside a circle.
|
| |
| Gedim::GeometryUtilities::PolygonCirclePositionTypes | PolygonCirclePosition (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &circleCenter, const double &circleRadius, const std::vector< PointCirclePositionResult > &vertexPositions, const IntersectionPolygonCircleResult &polygonCircleIntersections) const |
| |
| Gedim::GeometryUtilities::IntersectionPolygonCircleResult | IntersectionPolygonCircle (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &circleCenter, const double &circleRadius) const |
| |
| std::vector< unsigned int > | PolygonTriangulationByFirstVertex (const Eigen::MatrixXd &polygonVertices) const |
| | Convex Polygon simple Triangulation from the first vertex.
|
| |
| std::vector< unsigned int > | PolygonTriangulationByEarClipping (const Eigen::MatrixXd &polygonVertices) const |
| | Concave Polygon Triangulation with ear clipping algorithm.
|
| |
| std::vector< unsigned int > | PolygonTriangulationByInternalPoint (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &internalPoint) const |
| | Convex Polygon simple Triangulation from an internal point.
|
| |
| PolygonDivisionByAngleQuadrantResult | PolygonOutsideCircleDivisionByAngleQuadrant (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &polygonEdgeTangents, const Eigen::Vector3d &circleCenter, const double &circleRadius, const unsigned int &curvedEdgeIndex) const |
| | Convex Polygon sub division by angle quadrant which intersects a polygon in a curved edge.
|
| |
| PolygonDivisionByAngleQuadrantResult | PolygonInsideCircleDivisionByAngleQuadrant (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &polygonEdgeTangents, const Eigen::Vector3d &circleCenter, const double &circleRadius, const unsigned int &curvedEdgeIndex) const |
| | Convex Polygon sub division by angle quadrant which intersects a polygon in a curved edge.
|
| |
| PolygonDivisionByCircleResult | PolygonDivisionByCircle (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &polygonEdgeTangents, const Eigen::Vector3d &circleCenter, const double &circleRadius, const unsigned int &curvedEdgeIndex) const |
| | Convex Polygon sub division from a circle which intersects a polygon in a curved edge.
|
| |
| CircleDivisionByPolygonResult | CircleDivisionByPolygon (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &polygonEdgeTangents, const Eigen::Vector3d &circleCenter, const double &circleRadius, const unsigned int &curvedEdgeIndex) const |
| | Circle division from Convex Polygon sub division which intersects a polygon in a curved edge.
|
| |
| double | PolygonArea (const Eigen::MatrixXd &polygonVertices) const |
| |
| double | PolygonArea3D (const Eigen::MatrixXd &polygonVertices) const |
| |
| Eigen::Matrix2d | PolygonMass (const Eigen::Vector3d &polygonCentroid, const std::vector< Eigen::Matrix3d > &polygonTriangulationPoints) const |
| |
| Eigen::Matrix3d | PolygonInertia (const Eigen::Vector3d &polygonCentroid, const std::vector< Eigen::Matrix3d > &polygonTriangulationPoints) const |
| |
| Gedim::GeometryUtilities::SplitPolygonWithSegmentResult | SplitPolygonWithSegment (const SplitPolygonInput &input) const |
| | Split a polygon with n vertices numbered from 0 to n counterclockwise given a segment contained inside.
|
| |
| Gedim::GeometryUtilities::SplitPolygonWithCircleResult | SplitPolygonWithCircle (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &circleCenter, const double &circleRadius, const std::vector< PointCirclePositionResult > &vertexPositions, const IntersectionPolygonCircleResult &polygonCircleIntersections, const PolygonCirclePositionTypes &polygonCirclePosition) const |
| | Split a polygon with n vertices numbered from 0 to n counterclockwise given a cirle.
|
| |
| Eigen::MatrixXd | SplitPolygonWithCircleBuildSubPolygon (const SplitPolygonWithCircleResult &splitResult, const unsigned int &subPolygonIndex, const Eigen::MatrixXd &polygonVertices, const Gedim::GeometryUtilities::IntersectionPolygonCircleResult &polygonCircleIntersections) const |
| | Build the subpolygon coordinates from split result.
|
| |
| Gedim::GeometryUtilities::SplitPolygonWithPlaneResult | SplitPolygonWithPlane (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &polygonEdgeTangents, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin, const Eigen::Vector3d &polygonTranslation, const Eigen::Matrix3d &polygonRotationMatrix) const |
| | Split 3d Polygon With Plane.
|
| |
| Eigen::Vector3d | PolygonNormal (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon tridimensional normalized Normal.
|
| |
| std::array< Eigen::Vector3d, 2 > | PolygonTangents (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &polygonNormal) const |
| |
| Eigen::MatrixXd | PolygonEdgesCentroid (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon edges centroid.
|
| |
| Eigen::VectorXd | PolygonEdgeLengths (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon edge lengths.
|
| |
| Eigen::MatrixXd | PolygonEdgeTangents (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon edge tangents.
|
| |
| Eigen::MatrixXd | PolygonEdgeNormals (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon edge normals outgoing the polygon.
|
| |
| Eigen::Vector3d | SimplexBarycenter (const Eigen::MatrixXd &vertices) const |
| | Compute the simplex barycenter as a mean of all vertices.
|
| |
| double | SimplexMeasure (const Eigen::MatrixXd &vertices) const |
| |
| Eigen::Vector3d | SegmentBarycenter (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd) const |
| | Compute the segment barycenter as a mean of all vertices.
|
| |
| Eigen::Vector3d | PolygonBarycenter (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon barycenter as a mean of all vertices.
|
| |
| Eigen::Vector3d | PolyhedronBarycenter (const Eigen::MatrixXd &polyhedronVertices) const |
| | Compute the polyhedron barycenter as a mean of all vertices.
|
| |
| Eigen::Vector3d | PolygonCentroid (const Eigen::MatrixXd &polygonVertices, const double &polygonArea) const |
| | Compute the Polygon centroid as described in https://en.wikipedia.org/wiki/Centroid.
|
| |
| Eigen::Vector3d | PolygonCentroid (const Eigen::MatrixXd &subPolygonCentroids, const Eigen::VectorXd &subPolygonAreas, const double &polygonArea) const |
| | Compute the Polygon centroid using polygon sub-division.
|
| |
| double | PolygonAreaByBoundaryIntegral (const Eigen::MatrixXd &polygonVertices, const Eigen::VectorXd &edgeLengths, const Eigen::MatrixXd &edgeTangents, const Eigen::MatrixXd &edgeNormals, const Eigen::MatrixXd &referenceQuadraturePoints=(Eigen::MatrixXd(3, 1)<< 0.5, 0.0, 0.0).finished(), const Eigen::VectorXd &referenceQuadratureWeights=Eigen::VectorXd::Ones(1)) const |
| | Polygon Area By Integral on edges.
|
| |
| double | PolygonAreaByInternalIntegral (const std::vector< Eigen::Matrix3d > &polygonTriangulationPoints, const Eigen::VectorXd &referenceQuadratureWeights=Eigen::VectorXd::Constant(1, 0.5)) const |
| | Polygon Area By Internal Integral.
|
| |
| Eigen::Vector3d | PolygonCentroidByIntegral (const Eigen::MatrixXd &polygonVertices, const Eigen::VectorXd &edgeLengths, const Eigen::MatrixXd &edgeTangents, const Eigen::MatrixXd &edgeNormals, const double &polygonArea) const |
| | Polygon Area By Integral on edges.
|
| |
| Eigen::VectorXd | PolygonCentroidEdgesDistance (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &polygonCentroid, const Eigen::MatrixXd &polygonEdgeNormals) const |
| |
| Eigen::VectorXd | PolygonCentroidVerticesDistance (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &polygonCentroid) const |
| |
| double | PolygonInRadius (const Eigen::VectorXd &polygonCentroidEdgesDistance) const |
| |
| double | PolygonAspectRatio (const double &polygonDiameter, const double &polygonInRadius) const |
| |
| double | PolygonDiameter (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the Polygon diameter defined as the maximum distance between the vertices.
|
| |
| Eigen::Vector3d | PolygonTranslation (const Eigen::MatrixXd &polygonVertices) const |
| | Compute the translation vector of a tridimensional Polygon.
|
| |
| Eigen::Matrix3d | PolygonRotationMatrix (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &polygonNormal, const Eigen::Vector3d &polygonTranslation) const |
| | Compute the rotation matrix and translation vector of a tridimensional Polygon.
|
| |
| bool | PolygonIsConvex (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &convexHull) const |
| | Check if Polygon is Convex.
|
| |
| PolygonTypes | PolygonType (const unsigned int &numPolygonVertices, const bool &isPolygonConvex) const |
| |
| PolygonOrientations | PolygonOrientation (const std::vector< unsigned int > &convexHull) const |
| |
| std::vector< unsigned int > | ChangePolygonOrientation (const unsigned int numPolygonVertices) const |
| |
| Eigen::Matrix3d | PlaneRotationMatrix (const Eigen::Vector3d &planeNormal) const |
| | Compute the rotation matrix of a plane from 2D to 3D.
|
| |
| Eigen::Vector3d | PlaneTranslation (const Eigen::Vector3d &planeOrigin) const |
| | Compute the translation vector of a plane from 2D to 3D.
|
| |
| Eigen::Matrix3d | PlaneReflectionMatrix (const Eigen::Vector3d &plane_normal) const |
| |
| Eigen::Vector3d | PlaneReflectionTranslation (const Eigen::Vector3d &plane_normal, const Eigen::Vector3d &planeOrigin) const |
| |
| Eigen::MatrixXd | PlaneToPolygon (const Eigen::Vector3d &plane_normal, const Eigen::Vector3d &plane_origin) const |
| |
| Eigen::MatrixXd | RotatePoints (const Eigen::MatrixXd &points, const Eigen::Matrix3d &rotationMatrix, const Eigen::Vector3d &translation=Eigen::Vector3d::Zero()) const |
| | Rotate Points P using rotation matrix Q and translation t: Q * P + t.
|
| |
| Eigen::MatrixXd | RotatePointsFrom2DTo3D (const Eigen::MatrixXd &points, const Eigen::Matrix3d &rotationMatrix, const Eigen::Vector3d &translation=Eigen::Vector3d::Zero()) const |
| | Rotate Points P From 2D To 3D using rotation matrix Q and translation t: Q * P + t.
|
| |
| Eigen::MatrixXd | RotatePointsFrom3DTo2D (const Eigen::MatrixXd &points, const Eigen::Matrix3d &rotationMatrix, const Eigen::Vector3d &translation=Eigen::Vector3d::Zero()) const |
| | Rotate Points P From 3D To 2D using rotation matrix Q and translation t: Q * (P - t)
|
| |
| std::vector< unsigned int > | ConvexHull (const Eigen::MatrixXd &points, const bool &includeCollinear=true) const |
| | Compute the Convex Hull of 2D points.
|
| |
| std::vector< bool > | PointsAreAligned (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::MatrixXd &points) const |
| | Check if a set of points are aligned to a line identified by a segment.
|
| |
| std::vector< bool > | PointsAreOnLine (const Eigen::MatrixXd &points, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &lineTangent) const |
| | Check if a set of points are on a line.
|
| |
| bool | PointIsAligned (const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentEnd, const Eigen::Vector3d &point) const |
| | Check if a point is aligned to a line identified by a segment.
|
| |
| bool | PointIsOnLine (const Eigen::Vector3d &point, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &lineTangent) const |
| | Check if a point is on a line.
|
| |
| std::array< double, 3 > | PointToBarycentricCoordinates2D (const Eigen::Matrix3d &triangle, const Eigen::Vector3d &point) const |
| |
| Eigen::Vector3d | BarycentricCoordinatesToPoint2D (const Eigen::Matrix3d &triangle, const std::array< double, 3 > &barycentric_coordinates) const |
| |
| std::vector< unsigned int > | UnalignedPoints (const Eigen::MatrixXd &points, const unsigned int numDesiredUnalignedPoints=0) const |
| | Extract the circumscribed unaligned points (minimum 2) in a set of points.
|
| |
| std::vector< unsigned int > | UnalignedPolyhedronPoints (const Eigen::MatrixXd &polyhedronVertices, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::Vector3d > &polyhedronFacesTranslation, const std::vector< Eigen::Matrix3d > &polyhedronFacesRotationMatrix, const std::vector< std::vector< unsigned int > > &polyhedronUnaligedFaces, const std::vector< std::vector< unsigned int > > &polyhedronFacesUnalignedVertices) const |
| | Extract the circumscribed unaligned points (minimum 4) in a polyhedron.
|
| |
| AlignedPolyhedronEdgesResult | AlignedPolyhedronEdges (const Eigen::MatrixXd &polyhedronVertices, const std::vector< std::vector< unsigned int > > &verticesAdjacency, const std::vector< std::vector< unsigned int > > &edgesAdjacency, const std::vector< std::unordered_map< unsigned int, unsigned int > > &adjacencyVerticesMap, const Eigen::MatrixXd &polyhedronEdgeTangents, const Eigen::VectorXd &polyhedronEdgeSquaredLenghts) const |
| |
| Eigen::MatrixXd | ExtractPoints (const Eigen::MatrixXd &points, const std::vector< unsigned int > &filter) const |
| |
| std::vector< Eigen::Matrix3d > | ExtractTriangulationPoints (const Eigen::MatrixXd &points, const std::vector< unsigned int > &pointsTriangulation) const |
| |
| std::vector< Eigen::Matrix3d > | ExtractTriangulationPointsByInternalPoint (const Eigen::MatrixXd &points, const Eigen::Vector3d &internalPoint, const std::vector< unsigned int > &pointsTriangulation) const |
| |
| Eigen::MatrixXd | CreateEllipse (const double &axisMajorLength, const double &axisMinorLength, const unsigned int &resolution) const |
| | Create 2D Ellipse approximation with 2D polygon.
|
| |
| Eigen::MatrixXd | CreateTriangle (const Eigen::Vector3d &p1, const Eigen::Vector3d &p2, const Eigen::Vector3d &p3) const |
| | Create a triangle with points.
|
| |
| Eigen::MatrixXd | CreateParallelogram (const Eigen::Vector3d &origin, const Eigen::Vector3d &lengthVector, const Eigen::Vector3d &widthVector) const |
| | Create a parallelogram with origin and dimension.
|
| |
| Eigen::MatrixXd | CreateRectangle (const Eigen::Vector3d &origin, const double &base, const double &height) const |
| | Create a rectangle with origin and dimensions parallel to axis.
|
| |
| Eigen::MatrixXd | CreateSquare (const Eigen::Vector3d &origin, const double &edgeLength) const |
| | Create a square with origin and dimensions parallel to axis.
|
| |
| Polyhedron | CreateTetrahedronWithOrigin (const Eigen::Vector3d &origin, const Eigen::Vector3d &lengthVector, const Eigen::Vector3d &heightVector, const Eigen::Vector3d &widthVector) const |
| | Create a Tetrahedron with origin and dimension.
|
| |
| Polyhedron | CreateTetrahedronWithVertices (const Eigen::Vector3d &v1, const Eigen::Vector3d &v2, const Eigen::Vector3d &v3, const Eigen::Vector3d &v4) const |
| | Create a Tetrahedron with the four vertices.
|
| |
| Polyhedron | CreateParallelepipedWithOrigin (const Eigen::Vector3d &origin, const Eigen::Vector3d &lengthVector, const Eigen::Vector3d &heightVector, const Eigen::Vector3d &widthVector) const |
| | Create a Parallelepiped with origin and dimension.
|
| |
| Polyhedron | CreatePolyhedronWithExtrusion (const Eigen::MatrixXd &polygonVertices, const Eigen::Vector3d &heightVector) const |
| | Create Polyhedron With Extrusion.
|
| |
| Polyhedron | CreatePolyhedronWithExtrusion (const Eigen::MatrixXd &polygonVertices, const std::vector< Eigen::Vector3d > &heightVectors) const |
| | Create Polyhedron With Extrusion.
|
| |
| Polyhedron | CreateCubeWithOrigin (const Eigen::Vector3d &origin, const double &edgeLength) const |
| | Create a Cube with origin aligned to axis.
|
| |
| double | PolyhedronVolumeByBoundaryIntegral (const std::vector< std::vector< Eigen::Matrix3d > > &polyhedronFaceRotatedTriangulationPoints, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< bool > &polyhedronFaceNormalDirections, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices, const Eigen::MatrixXd &referenceQuadraturePoints=(Eigen::MatrixXd(3, 1)<< 1.0/3.0, 1.0/3.0, 0.0).finished(), const Eigen::VectorXd &referenceQuadratureWeights=Eigen::VectorXd::Constant(1, 0.5)) const |
| | Compute the Polyhedron Volume.
|
| |
| double | PolyhedronVolumeByInternalIntegral (const std::vector< Eigen::MatrixXd > &polyhedronTetrahedronVertices, const Eigen::VectorXd &referenceQuadratureWeights=Eigen::VectorXd::Constant(1, 1.0/6.0)) const |
| | Polyhedron Volume By Internal Integral.
|
| |
| Eigen::Vector3d | PolyhedronCentroid (const std::vector< std::vector< Eigen::Matrix3d > > &polyhedronFaceRotatedTriangulationPoints, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< bool > &polyhedronFaceNormalDirections, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices, const double &polyhedronVolume) const |
| | Compute the Polyhedron centroid.
|
| |
| double | PolyhedronDiameter (const Eigen::MatrixXd &polyhedronVertices) const |
| | Compute the Polyhedron diameter defined as the maximum distance between the vertices.
|
| |
| Eigen::MatrixXd | PolyhedronEdgesCentroid (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges) const |
| | Compute Polyhedron Edges Centroid.
|
| |
| Eigen::VectorXd | PolyhedronEdgesLength (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges) const |
| | Compute Polyhedron Edges Lenght.
|
| |
| Eigen::MatrixXd | PolyhedronEdgeTangents (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges) const |
| | Compute Polyhedron Edges Tangent.
|
| |
| std::vector< Eigen::MatrixXd > | PolyhedronFaceVertices (const Eigen::MatrixXd &polyhedronVertices, const std::vector< Eigen::MatrixXi > &polyhedronFaces) const |
| | Compute Polyhedron Faces Vertices.
|
| |
| std::vector< std::vector< bool > > | PolyhedronFaceEdgeDirections (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces) const |
| | Compute Polyhedron Faces Edge Direction.
|
| |
| std::vector< Eigen::MatrixXd > | PolyhedronFaceEdgeTangents (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< std::vector< bool > > &polyhedronFaceEdgeDirections, const Eigen::MatrixXd &polyhedronEdgeTangents) const |
| | Compute Polyhedron Faces Edge Tangents.
|
| |
| std::vector< Eigen::Matrix3d > | PolyhedronFaceRotationMatrices (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations) const |
| | Compute Polyhedron Faces Rotation matrix.
|
| |
| std::vector< Eigen::Vector3d > | PolyhedronFaceTranslations (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices) const |
| | Compute Polyhedron Faces translation vectors.
|
| |
| std::vector< Eigen::MatrixXd > | PolyhedronFaceRotatedVertices (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices) const |
| | Compute Polyhedron Faces Rotated Vertices 2D.
|
| |
| std::vector< std::vector< unsigned int > > | PolyhedronFacesUnalignedVertices (const std::vector< Eigen::MatrixXd > &polyhedronFacesRotatedVertices) const |
| | Compute Polyhedron Faces Unaligned Vertices Indices.
|
| |
| std::vector< Eigen::Vector3d > | PolyhedronFaceNormals (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices) const |
| | Compute Polyhedron Faces Normals.
|
| |
| std::vector< std::array< Eigen::Vector3d, 2 > > | PolyhedronFaceTangents (const std::vector< Eigen::MatrixXd > &polyhedronFacesVertices, const std::vector< Eigen::Vector3d > &polyhedronFacesNormal, const std::vector< bool > &polyhedronFacesNormalDirection) const |
| |
| std::vector< Eigen::Vector3d > | PolyhedronFaceBarycenter (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices) const |
| | Compute Polyhedron Faces barycenters.
|
| |
| Eigen::Matrix3d | PolyhedronMass (const Eigen::Vector3d &polyhedronCentroid, const std::vector< Eigen::MatrixXd > &polyhedronTetrahedronPoints) const |
| |
| Eigen::Matrix3d | PolyhedronInertia (const Eigen::Vector3d &polyhedronCentroid, const std::vector< Eigen::MatrixXd > &polyhedronTetrahedraPoints) const |
| |
| Eigen::VectorXd | PolyhedronCentroidFacesDistance (const Eigen::Vector3d &polyhedronCentroid, const std::vector< Eigen::Vector3d > &polyhedronFacesNormal, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices) const |
| |
| double | PolyhedronInRadius (const Eigen::VectorXd &polyhedronCentroidFacesDistance) const |
| |
| bool | PolyhedronIsConvex (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::MatrixXd > &polyhedronFaceRotatedVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< bool > &polyhedronFaceNormalDirections, const Eigen::Vector3d &polyhedronInternalPoint) const |
| | Check if Polyhedron is Convex.
|
| |
| std::vector< bool > | PolyhedronFaceNormalDirections (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const Eigen::Vector3d &pointInsidePolyhedron, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals) const |
| | Compute Polyhedron Face Normal Directions.
|
| |
| std::vector< bool > | PolyhedronFaceNormalDirections (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints, const std::vector< Eigen::MatrixXd > &polyhedronFaceRotatedVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceNormals, const std::vector< Eigen::Vector3d > &polyhedronFaceTranslations, const std::vector< Eigen::Matrix3d > &polyhedronFaceRotationMatrices) const |
| | Compute Polyhedron Face Normal Directions for generic polyhedron (slower)
|
| |
| std::vector< std::vector< unsigned int > > | PolyhedronFaceTriangulations (const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< std::vector< unsigned int > > &localFaceTriangulations) const |
| | Polyhedron Face Triangulations of each face.
|
| |
| std::vector< std::vector< unsigned int > > | PolyhedronFaceTriangulationsByFirstVertex (const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices) const |
| | Polyhedron Face Triangulations by first vertex of each face.
|
| |
| std::vector< std::vector< unsigned int > > | PolyhedronFaceTriangulationsByEarClipping (const unsigned int numPolyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaces2DVertices) const |
| | Polyhedron Face Triangulations by ear clipping of each face.
|
| |
| std::vector< std::vector< Eigen::Matrix3d > > | PolyhedronFaceExtractTriangulationPoints (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< std::vector< unsigned int > > &polyhedronFaceTriangulations) const |
| |
| std::vector< std::vector< Eigen::Matrix3d > > | PolyhedronFaceTriangulationPointsByInternalPoint (const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints, const std::vector< std::vector< unsigned int > > &polyhedronFaceTriangulations) const |
| |
| std::vector< std::vector< unsigned int > > | PolyhedronFaceTriangulationsByInternalPoint (const Eigen::MatrixXd &polyhedronVertices, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronFaceVertices, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints) const |
| | Polyhedron Face Triangulations by internal point of each face.
|
| |
| std::vector< unsigned int > | PolyhedronTetrahedronsByFaceTriangulations (const Eigen::MatrixXd &polyhedronVertices, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< std::vector< unsigned int > > &polyhedronFaceTriangulations, const Eigen::Vector3d &polyhedronInternalPoint) const |
| | Polyhedron Tetrahedrons By Face Triangulations.
|
| |
| std::vector< unsigned int > | PolyhedronTetrahedronsByFaceTriangulations (const Eigen::MatrixXd &polyhedronVertices, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< std::vector< unsigned int > > &polyhedronFaceTriangulations, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints, const Eigen::Vector3d &polyhedronInternalPoint) const |
| | Polyhedron Tetrahedrons By Face Triangulations with face internal points.
|
| |
| std::vector< Eigen::MatrixXd > | ExtractTetrahedronPoints (const Eigen::MatrixXd &polyhedronVertices, const Eigen::Vector3d &polyhedronInternalPoint, const std::vector< unsigned int > &pointTetrahedrons) const |
| |
| std::vector< Eigen::MatrixXd > | ExtractTetrahedronPoints (const Eigen::MatrixXd &polyhedronVertices, const Eigen::Vector3d &polyhedronInternalPoint, const std::vector< Eigen::Vector3d > &polyhedronFaceInternalPoints, const std::vector< unsigned int > &pointTetrahedrons) const |
| |
| std::vector< unsigned int > | PolyhedronCoordinateSystem (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges) |
| | Get Polyhedron Coordinate System.
|
| |
| void | ExportPolyhedronToVTU (const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::string &exportFolder) const |
| | Export Polyhedron To VTU.
|
| |
| void | ExportPolyhedronToVTU (const Polyhedron &polyhedron, const std::string &exportFolder) const |
| |
| void | ExportPolyhedronToVTU (const unsigned int &index, const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::MatrixXd > &polyhedronTetra, const double &polyhedronVolume, const Eigen::Vector3d &polyhedronCentroid, const std::vector< Eigen::MatrixXd > &polyhedronFaces3DVertices, const std::vector< double > &polyhedronFacesArea, const std::vector< Eigen::Vector3d > &polyhedronFaces2DCentroid, const std::vector< Eigen::Vector3d > &polyhedronFacesTranslation, const std::vector< Eigen::Matrix3d > &polyhedronFacesRotationMatrix, const std::vector< std::vector< Eigen::Matrix3d > > &polyhedronFaces3DTriangles, const std::vector< Eigen::Vector3d > &polyhedronFaces3DInternalPoint, const std::vector< Eigen::Vector3d > &polyhedronFaces3DNormal, const std::vector< bool > &polyhedronFaces3DNormalDirection, const std::string &exportFolder) const |
| | Export Polyhedron To VTU.
|
| |
| void | ExportPolygonToVTU (const unsigned int &index, const Eigen::MatrixXd &polygon, const std::vector< Eigen::Matrix3d > &polygon_triangles, const double &polygon_volume, const Eigen::Vector3d &polygon_centroid, const Eigen::MatrixXd &polygon_edges_centroid, const Eigen::MatrixXd &polygon_edges_normal, const std::vector< bool > &polygon_edges_normal_direction, const std::string &exportFolder) const |
| |
| void | ExportPlanteToVTU (const Eigen::Vector3d &plane_origin, const Eigen::Vector3d &plane_normal, const Eigen::Vector3d &plane_translation, const Eigen::Matrix3d &plane_rotation_matrix, const std::string &exportFolder) const |
| |
| MergePolyhedronsInput | MergePolyhedronByFace (const std::array< Polyhedron, 2 > &polyhedrons, const std::array< unsigned int, 2 > polyhedrons_common_face_index, const bool remove_common_face) const |
| |
| MergePolyhedronsResult | MergePolyhedrons (const std::array< Polyhedron, 2 > &polyhedrons, const MergePolyhedronsInput &merge_information={}) const |
| | Merge two Polyhedrons not intersecting.
|
| |
| std::map< unsigned int, unsigned int > | FacetsToVertices (const std::vector< std::vector< unsigned int > > &facets) const |
| |
| std::map< std::pair< unsigned int, unsigned int >, unsigned int > | FacetsToEdges (const std::vector< std::vector< unsigned int > > &facets) const |
| |
| Polyhedron | FacetsToPolyhedron (const Eigen::MatrixXd &points, const std::vector< std::vector< unsigned int > > &facets) const |
| |
| std::vector< std::vector< unsigned int > > | PolyhedronToFacets (const Polyhedron &polyhedron) const |
| |
| void | PolygonChebyshevCenter (const Eigen::MatrixXd &polygonVertices, const Eigen::MatrixXd &edgeNormals, Eigen::Vector3d &in_center, double &in_radius, const double r0, const bool use_r0) const |
| |
| Eigen::MatrixXi | ChangePolyhedronFaceOrientation (const Gedim::GeometryUtilities::Polyhedron &polyhedron, const unsigned int face_index) const |
| |
| std::vector< Eigen::MatrixXi > | ChangePolyhedronFacesOrientation (const Gedim::GeometryUtilities::Polyhedron &polyhedron, const std::vector< bool > &faces_normal_direction) const |
| | Change Polyhedron Face Orientation if face_normal_direction is false.
|
| |