Project Geode-Common
namespace geode
Namespaces
Records
- BRepCollapseEdgeValidity
- BRepCutter
- BRepElementsAfterCollapseEdge
- BRepElementsAfterMovePoint
- BRepElementsAfterSwapEdge
- BRepGeometricModifier
- BRepGridMetric
- BRepModifier
- BRepMovePointValidity
- BRepSplitEdgeValidity
- BRepSplitTriangleValidity
- BRepSwapEdgeValidity
- BRepSwapFacetValidity
- BlockCollapseEdgeValidities
- BlockMovePointValidities
- BlockPatchVertices
- BlockPathVertices
- BlockSplitEdgeValidities
- BlockSplitFacetValidities
- BlockSwapEdgeValidities
- BlockSwapFacetValidities
- CommonCoreLibrary
- CommonCutterModelLibrary
- CommonCutterSolidLibrary
- CommonCutterSurfaceLibrary
- CommonMetricLibrary
- CommonModifierCommonLibrary
- CommonModifierEdgedCurveLibrary
- CommonModifierModelLibrary
- CommonModifierSolidLibrary
- CommonModifierSurfaceLibrary
- ComponentMeshVertexInclusionQuery
- CustomGridMetric
- CutPatchException
- CutPathException
- EdgeSplit
- EdgedCurveCollapseEdgeValidity
- EdgedCurveModifier
- EdgedCurveMovePointValidity
- EdgedCurveSplitEdgeValidity
- EdgedCurveTopologicalValidity
- FacetSplit
- FileLicenseChecker
- ForbbidenImpl
- ForbiddenEdges
- ForbiddenFacets
- ForbiddenTriangles
- FrontCycle
- FrontEdge
- GeometricSolidPath
- GeometricSurfacePath
- GridMetric
- Invalidity
- LineCollapseEdgeValidities
- Mapping
- MeshModifierFactoryKey
- MeshModifierFactory
- Metric
- ModelCollapseEdgeValidity
- ModelCollapsePolygonEdgeInfo
- ModelElementsAfterCollapseEdge
- ModelElementsAfterSwapEdge
- ModelMovePointValidity
- ModelSplitEdgeValidity
- ModelSplitPolygonEdgeInfo
- ModelSplitTriangleInfo
- ModelSplitTriangleValidity
- ModelSwapEdgeInfo
- ModelSwapEdgeValidity
- ModifiableObject
- ModifiedElements
- ModifiedTetrahedron
- ModifiedTriangle
- Modifier
- ModuleLicenseChecker
- MultiMapping
- PatchFrontEdge
- PolygonEdgeSplit
- PolygonEdge
- PolyhedronFacetEdge
- PolyhedronFacet
- PreviousPaths
- SectionCollapseEdgeValidity
- SectionElementsAfterCollapseEdge
- SectionElementsAfterSwapEdge
- SectionGeometricModifier
- SectionMovePointValidity
- SectionSplitEdgeValidity
- SectionSwapEdgeValidity
- SolidBorderPathFinder
- SolidCollapseEdgeValidity
- SolidCutPatchInfo
- SolidCutPathInfo
- SolidGeometricalValidity
- SolidMovePointValidity
- SolidPatch
- SolidPatcher
- SolidPathFinder
- SolidPath
- SolidSplitEdgeValidity
- SolidSplitFacetValidity
- SolidSplitTetrahedronValidity
- SolidSwapEdgeValidity
- SolidSwapFacetValidity
- SolidSwapPatchInfo
- SolidSwapPathInfo
- SolidTopologicalValidity
- SplitCollapseTetrahedraAfter
- SplitInfo
- SurfaceCollapseEdgeValidities
- SurfaceCollapseEdgeValidity
- SurfaceCutPathException
- SurfaceCutPathInfo
- SurfaceGeometricalValidity
- SurfaceMovePointValidities
- SurfaceMovePointValidity
- SurfacePathFinder
- SurfacePath
- SurfaceSegmentFinder2D
- SurfaceSegmentFinder3D
- SurfaceSegmentFinder
- SurfaceSplitEdgeValidities
- SurfaceSplitEdgeValidity
- SurfaceSplitTriangleValidities
- SurfaceSplitTriangleValidity
- SurfaceSwapEdgeValidities
- SurfaceSwapEdgeValidity
- SurfaceSwapFacetValidities
- SurfaceTopologicalValidity
- SwapTetrahedraAfter
- SwapTrianglesAfter
- TetrahedraAfter
- TetrahedralSolidEpsilonModifier
- TetrahedralSolidModifier
- TrianglesAfter
- TriangulatedSurfaceEpsilonModifier
- TriangulatedSurfaceModifier
- VerticesModifier
Functions
extract_mappings_from_split_info
FixedArray extract_mappings_from_split_info(Span split_info)
FixedArray extract_mappings_from_split_info(Span split_info)
update_vertex_mappings
void update_vertex_mappings(std::vector<geode::VertexMultiMapping> & vertex_multi_mappings, const geode::VertexMultiMapping & collapse_mapping)
void update_vertex_mappings(std::vector<geode::VertexMultiMapping> & vertex_multi_mappings, const geode::VertexMultiMapping & collapse_mapping)
add_mappings_in_multi_mappings
void add_mappings_in_multi_mappings(std::vector<MultiMapping<T> > & multi_mappings, absl::Span<const MultiMapping<T> > new_mappings)
void add_mappings_in_multi_mappings(std::vector<MultiMapping<T> > & multi_mappings, absl::Span<const MultiMapping<T> > new_mappings)
process_mapping_element
void process_mapping_element(const geode::Mapping<T> & element, absl::flat_hash_set<T> & to_remove, absl::flat_hash_map<T, T> & new_to_old, const T & )
void process_mapping_element(const geode::Mapping<T> & element, absl::flat_hash_set<T> & to_remove, absl::flat_hash_map<T, T> & new_to_old, const T & )
process_mapping_element
void process_mapping_element(geode::MultiMapping<T> & element, absl::flat_hash_set<T> & to_remove, absl::flat_hash_map<T, absl::InlinedVector<T, 1> > & new_to_olds, const T & no_value)
void process_mapping_element(geode::MultiMapping<T> & element, absl::flat_hash_set<T> & to_remove, absl::flat_hash_map<T, absl::InlinedVector<T, 1> > & new_to_olds, const T & no_value)
update_mappings
void update_mappings(std::vector<MappingType> & mappings, NewToOldMap & new_to_old, const T & no_value)
void update_mappings(std::vector<MappingType> & mappings, NewToOldMap & new_to_old, const T & no_value)
update_mappings
void update_mappings(std::vector<geode::Mapping<T> > & mappings, const T & no_value)
void update_mappings(std::vector<geode::Mapping<T> > & mappings, const T & no_value)
update_multi_mappings
void update_multi_mappings(std::vector<geode::MultiMapping<T> > & multi_mappings, const T & no_value)
void update_multi_mappings(std::vector<geode::MultiMapping<T> > & multi_mappings, const T & no_value)
new_indices
vector new_indices(absl::Span<const MappingType> mappings)
vector new_indices(absl::Span<const MappingType> mappings)
dummy_triangle
Triangle<dimension> dummy_triangle()
Triangle<dimension> dummy_triangle()
is_split_triangle_valid
bool is_split_triangle_valid(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
bool is_split_triangle_valid(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
Check if a triangle split will keep the mesh valid, meaning the signs of the triangle areas are positive. The split is not applied.
mesh [in] Triangulated mesh on which simulate operation.
triangle_id [in] Index of the triangle to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
split_triangle_validity
SurfaceSplitTriangleValidity<dimension> split_triangle_validity(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
SurfaceSplitTriangleValidity<dimension> split_triangle_validity(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
is_split_edge_valid
bool is_split_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
bool is_split_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
Check if an edge split will keep the mesh valid, meaning the signs of the triangle areas are positive. The split is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
split_edge_validity
SurfaceSplitEdgeValidity<dimension> split_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
SurfaceSplitEdgeValidity<dimension> split_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the triangle areas are positive, and mesh remains manifold. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to collapse.
point [in] Coordinates of the collapse point.
return true if collapse will keep mesh valid.
is_collapse_edge_valid
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
is_collapse_edge_valid
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the triangle areas are positive, and mesh remains manifold. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge_id [in] Unique index of the edge to collapse.
point [in] Coordinates of the collapse point.
return true if collapse will keep mesh valid.
is_collapse_edge_valid
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
bool is_collapse_edge_valid(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
collapse_edge_validity
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the triangle areas are positive, and mesh remains manifold. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to collapse.
point [in] Coordinates of the collapse point.
return all the information about validity issues this collapse would generate.
collapse_edge_validity
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
collapse_edge_validity
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the triangle areas are positive, and mesh remains manifold. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge_id [in] Unique index of the edge to collapse.
point [in] Coordinates of the collapse point.
return all the information about validity issues this collapse would generate.
collapse_edge_validity
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
SurfaceCollapseEdgeValidity<dimension> collapse_edge_validity(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
is_swap_edge_valid
bool is_swap_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
bool is_swap_edge_valid(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
Check if an edge swap will keep the mesh valid, meaning the sign of the triangle areas are positive. The swap is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to swap.
return true if swap edge will keep mesh valid.
swap_edge_validity
SurfaceSwapEdgeValidity<dimension> swap_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
SurfaceSwapEdgeValidity<dimension> swap_edge_validity(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
is_move_point_valid
bool is_move_point_valid(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
bool is_move_point_valid(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
Check if a vertex relocation will keep the mesh valid, meaning the sign of the triangle areas are positive. The relocation is not applied.
mesh [in] Triangulated mesh on which simulate operation.
vertex [in] Index of the vertex to relocate.
point [in] Coordinates of the destination point.
return true if vertex relocation will keep mesh valid.
move_point_validity
SurfaceMovePointValidity<dimension> move_point_validity(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
SurfaceMovePointValidity<dimension> move_point_validity(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
triangles_after_split_triangle
std::array<Triangle<dimension>, 3> triangles_after_split_triangle(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
std::array<Triangle<dimension>, 3> triangles_after_split_triangle(const TriangulatedSurface<dimension> & mesh, index_t triangle_id, const Point<dimension> & point)
Return the three triangles resulting from a triangle split. The split is not applied.
mesh [in] Triangulated mesh on which simulate operation.
triangle_id [in] Index of the triangle on which simulate split.
point [in] Coordinates of the split point.
triangles_after_split_edge
TrianglesAfter<dimension> triangles_after_split_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
TrianglesAfter<dimension> triangles_after_split_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
Return all the triangles resulting from a triangle edge split. The split is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to split.
point [in] Coordinates of the split point.
triangles_after_collapse_edge
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, const Point<dimension> & point)
Return all the triangles resulting from a triangle edge collapse. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to collapse.
point [in] Coordinates of the collapse point.
triangles_after_collapse_edge
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge, local_index_t apex)
triangles_after_collapse_edge
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
Return all the triangles resulting from a triangle edge collapse. The collapse is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge_id [in] Unique index of the edge to collapse.
point [in] Coordinates of the collapse point.
triangles_after_collapse_edge
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
TrianglesAfter<dimension> triangles_after_collapse_edge(const TriangulatedSurface<dimension> & mesh, index_t edge_id, local_index_t apex)
triangles_after_swap_edge
SwapTrianglesAfter<dimension> triangles_after_swap_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
SwapTrianglesAfter<dimension> triangles_after_swap_edge(const TriangulatedSurface<dimension> & mesh, const PolygonEdge & edge)
Return all the triangles resulting from an edge swap. The swap is not applied.
mesh [in] Triangulated mesh on which simulate operation.
edge [in] Index of the PolygonEdge to swap.
triangles_after_move_point
TrianglesAfter<dimension> triangles_after_move_point(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
TrianglesAfter<dimension> triangles_after_move_point(const TriangulatedSurface<dimension> & mesh, index_t vertex, const Point<dimension> & point)
Return all the triangles resulting from a vertex relocation. The vertex relocation is not applied.
mesh [in] Triangulated mesh on which simulate operation.
vertex [in] Index of the vertex to relocate.
point [in] Coordinates of the destination point.
is_move_point_valid
bool is_move_point_valid(const EdgedCurve<dimension> & mesh, index_t vertex, const Point<dimension> & point)
bool is_move_point_valid(const EdgedCurve<dimension> & mesh, index_t vertex, const Point<dimension> & point)
move_point_validity
EdgedCurveMovePointValidity move_point_validity(const EdgedCurve<dimension> & mesh, index_t vertex, const Point<dimension> & point)
EdgedCurveMovePointValidity move_point_validity(const EdgedCurve<dimension> & mesh, index_t vertex, const Point<dimension> & point)
is_split_edge_valid
bool is_split_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
bool is_split_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
split_edge_validity
EdgedCurveSplitEdgeValidity split_edge_validity(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
EdgedCurveSplitEdgeValidity split_edge_validity(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
bool is_collapse_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, local_index_t apex)
bool is_collapse_edge_valid(const EdgedCurve<dimension> & mesh, index_t edge_id, local_index_t apex)
collapse_edge_validity
EdgedCurveCollapseEdgeValidity collapse_edge_validity(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
EdgedCurveCollapseEdgeValidity collapse_edge_validity(const EdgedCurve<dimension> & mesh, index_t edge_id, const Point<dimension> & point)
is_split_tetrahedron_valid
bool is_split_tetrahedron_valid(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
bool is_split_tetrahedron_valid(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
Check if a tetrahedron split will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
tetrahedron_id [in] Index of the tetrahedron to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
split_tetrahedron_validity
SolidSplitTetrahedronValidity split_tetrahedron_validity(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
SolidSplitTetrahedronValidity split_tetrahedron_validity(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
is_split_facet_valid
bool is_split_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
bool is_split_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
Check if a facet split will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet [in] Index of the PolyhedronFacet to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
is_split_facet_valid
bool is_split_facet_valid(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
bool is_split_facet_valid(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
Check if a facet split will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet_id [in] Unique index of the facet to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
split_facet_validity
SolidSplitFacetValidity split_facet_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
SolidSplitFacetValidity split_facet_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
split_facet_validity
SolidSplitFacetValidity split_facet_validity(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
SolidSplitFacetValidity split_facet_validity(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
is_split_edge_valid
bool is_split_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
bool is_split_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
Check if an edge split will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
is_split_edge_valid
bool is_split_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
bool is_split_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
Check if an edge split will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge_id [in] Unique index of the edge to split.
point [in] Coordinates of the split point.
return true if split will keep mesh valid.
split_edge_validity
SolidSplitEdgeValidity split_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
SolidSplitEdgeValidity split_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
split_edge_validity
SolidSplitEdgeValidity split_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
SolidSplitEdgeValidity split_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The collapse is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge to collapse.
point [in] Coordinates of the collapse point.
return true if collapse will keep mesh valid.
is_collapse_edge_valid
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
is_collapse_edge_valid
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
Check if an edge collapse will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The collapse is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge_id [in] Unique index of the edge to collapse.
point [in] Coordinates of the collapse point.
return true if collapse will keep mesh valid.
is_collapse_edge_valid
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
bool is_collapse_edge_valid(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
collapse_edge_validity
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
collapse_edge_validity
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
collapse_edge_validity
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
collapse_edge_validity
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
SolidCollapseEdgeValidity collapse_edge_validity(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
is_split_collapse_edge_valid
bool is_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
bool is_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
is_split_collapse_edge_valid
bool is_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex, const Point3D & point)
bool is_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex, const Point3D & point)
is_split_collapse_facet_valid
bool is_split_collapse_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
bool is_split_collapse_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
is_split_collapse_facet_valid
bool is_split_collapse_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
bool is_split_collapse_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
is_split_split_collapse_edge_valid
bool is_split_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge0, const PolyhedronFacetEdge & edge1, const Point3D & point)
bool is_split_split_collapse_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge0, const PolyhedronFacetEdge & edge1, const Point3D & point)
is_swap_facet_valid
bool is_swap_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
bool is_swap_facet_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
Check if a facet swap will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The swap is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet [in] Index of the PolyhedronFacet to swap.
return true if swap facet will keep mesh valid.
swap_facet_validity
SolidSwapFacetValidity swap_facet_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
SolidSwapFacetValidity swap_facet_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
is_swap_edge_valid
bool is_swap_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
bool is_swap_edge_valid(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
Check if an edge swap will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The swap is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge to swap.
apex [in] Index of the vertex used as the new facets fan common vertex.
return true if swap edge will keep mesh valid.
swap_edge_validity
SolidSwapEdgeValidity swap_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
SolidSwapEdgeValidity swap_edge_validity(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
is_move_point_valid
bool is_move_point_valid(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
bool is_move_point_valid(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
Check if a vertex relocation will keep the mesh valid, meaning the signs of the tetrahedra volumes are positive. The vertex relocation is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
vertex [in] Index of the vertex to relocate.
point [in] Coordinates of the destination point.
return true if vertex relocation will keep mesh valid.
move_point_validity
SolidMovePointValidity move_point_validity(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
SolidMovePointValidity move_point_validity(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
tetrahedra_after_split_tetrahedron
std::array<Tetrahedron, 4> tetrahedra_after_split_tetrahedron(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
std::array<Tetrahedron, 4> tetrahedra_after_split_tetrahedron(const TetrahedralSolid3D & mesh, index_t tetrahedron_id, const Point3D & point)
Return the four tetrahedra resulting from a tetrahedron split. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
tetrahedron_id [in] Index of the tetrahedron on which simulate split.
point [in] Coordinates of the split point.
tetrahedra_after_split_facet
TetrahedraAfter tetrahedra_after_split_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
TetrahedraAfter tetrahedra_after_split_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
Return all the tetrahedra resulting from a facet split. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet [in] Index of the PolyhedronFacet on which simulate split.
point [in] Coordinates of the split point.
tetrahedra_after_split_facet
TetrahedraAfter tetrahedra_after_split_facet(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
TetrahedraAfter tetrahedra_after_split_facet(const TetrahedralSolid3D & mesh, index_t facet_id, const Point3D & point)
Return all the tetrahedra resulting from a facet split. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet_id [in] Unique index of the facet on which simulate split.
point [in] Coordinates of the split point.
tetrahedra_after_split_collapse_facet
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
tetrahedra_after_split_collapse_facet
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet, const Point3D & point)
tetrahedra_after_split_edge
TetrahedraAfter tetrahedra_after_split_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
TetrahedraAfter tetrahedra_after_split_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
Return all the tetrahedra resulting from an edge split. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge on which simulate split.
point [in] Coordinates of the split point.
tetrahedra_after_split_edge
TetrahedraAfter tetrahedra_after_split_edge(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
TetrahedraAfter tetrahedra_after_split_edge(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
Return all the tetrahedra resulting from an edge split. The split is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge_id [in] Unique index of the edge on which simulate split.
point [in] Coordinates of the split point.
tetrahedra_after_split_collapse_edge
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t vertex)
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t vertex)
Return all the tetrahedra resulting from an edge split and edge collapse. The split-collapse operations are not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge on which simulate split.
vertex [in] Index towards which the split vertex is collapse on.
tetrahedra_after_split_collapse_edge
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t vertex, const Point3D & point)
SplitCollapseTetrahedraAfter tetrahedra_after_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t vertex, const Point3D & point)
tetrahedra_after_split_split_collapse_edge
TetrahedraAfter tetrahedra_after_split_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge0, const PolyhedronFacetEdge & edge1, const Point3D & collapse_point)
TetrahedraAfter tetrahedra_after_split_split_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge0, const PolyhedronFacetEdge & edge1, const Point3D & collapse_point)
Return all the tetrahedra resulting from a double edge split and edge collapse. The split-collapse operations are not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge0 [in] Index of the first PolyhedronFacetEdge on which simulate split.
edge1 [in] Index of the second PolyhedronFacetEdge on which simulate split.
vertex [in] Index towards which the split vertex is collapse on.
tetrahedra_after_collapse_edge
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, const Point3D & point)
Return all the tetrahedra resulting from an edge collapse. The collapse is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge on which simulate collapse.
point [in] Coordinates of the collapse point.
tetrahedra_after_collapse_edge
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, local_index_t apex)
tetrahedra_after_collapse_edge
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, index_t edge_id, const Point3D & point)
Return all the tetrahedra resulting from an edge collapse. The collapse is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge_id [in] Unique index of the edge on which simulate collapse.
point [in] Coordinates of the collapse point.
tetrahedra_after_collapse_edge
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
TetrahedraAfter tetrahedra_after_collapse_edge(const TetrahedralSolid3D & mesh, index_t edge_id, local_index_t apex)
tetrahedra_after_swap_facet
SwapTetrahedraAfter tetrahedra_after_swap_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
SwapTetrahedraAfter tetrahedra_after_swap_facet(const TetrahedralSolid3D & mesh, const PolyhedronFacet & facet)
Return the three tetrahedra resulting from a facet swap. The swap is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
facet [in] Index of the PolyhedronFacet on which simulate swap.
point [in] Coordinates of the swap point.
tetrahedra_after_swap_edge
SwapTetrahedraAfter tetrahedra_after_swap_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
SwapTetrahedraAfter tetrahedra_after_swap_edge(const TetrahedralSolid3D & mesh, const PolyhedronFacetEdge & edge, index_t apex)
Return all the tetrahedra resulting from an edge swap. The swap is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
edge [in] Index of the PolyhedronFacetEdge on which simulate swap.
apex [in] Index of the vertex used as the new facets fan common vertex.
tetrahedra_after_move_point
TetrahedraAfter tetrahedra_after_move_point(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
TetrahedraAfter tetrahedra_after_move_point(const TetrahedralSolid3D & mesh, index_t vertex, const Point3D & point)
Return all the tetrahedra resulting from a vertex relocation. The vertex relocation is not applied.
mesh [in] Tetrahedral mesh on which simulate operation.
vertex [in] Index of the vertex to relocate.
point [in] Coordinates of the destination point.
is_collapse_edge_valid
bool is_collapse_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
bool is_collapse_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, local_index_t apex)
bool is_collapse_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, local_index_t apex)
is_collapse_edge_valid
bool is_collapse_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
bool is_collapse_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
bool is_collapse_edge_valid(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
collapse_edge_validity
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
collapse_edge_validity
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, local_index_t apex)
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, local_index_t apex)
collapse_edge_validity
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
collapse_edge_validity
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, local_index_t apex)
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, local_index_t apex)
collapse_edge_validity
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
BRepCollapseEdgeValidity collapse_edge_validity(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
is_split_edge_valid
bool is_split_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
bool is_split_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
is_split_edge_valid
bool is_split_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
bool is_split_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
is_split_edge_valid
bool is_split_edge_valid(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
bool is_split_edge_valid(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
split_edge_validity
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
split_edge_validity
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
split_edge_validity
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
BRepSplitEdgeValidity split_edge_validity(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
is_split_facet_valid
bool is_split_facet_valid(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet, const Point3D & point)
bool is_split_facet_valid(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet, const Point3D & point)
is_split_triangle_valid
bool is_split_triangle_valid(const BRep & brep, const Surface3D & surface, index_t triangle, const Point3D & point)
bool is_split_triangle_valid(const BRep & brep, const Surface3D & surface, index_t triangle, const Point3D & point)
split_facet_validity
BRepSplitTriangleValidity split_facet_validity(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet, const Point3D & point)
BRepSplitTriangleValidity split_facet_validity(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet, const Point3D & point)
split_triangle_validity
BRepSplitTriangleValidity split_triangle_validity(const BRep & brep, const Surface3D & surface, index_t triangle, const Point3D & point)
BRepSplitTriangleValidity split_triangle_validity(const BRep & brep, const Surface3D & surface, index_t triangle, const Point3D & point)
is_swap_facet_valid
bool is_swap_facet_valid(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
bool is_swap_facet_valid(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
swap_facet_validity
BRepSwapFacetValidity swap_facet_validity(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
BRepSwapFacetValidity swap_facet_validity(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
is_swap_edge_valid
bool is_swap_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
bool is_swap_edge_valid(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
is_swap_edge_valid
bool is_swap_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
bool is_swap_edge_valid(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
The chosen apex is the opposite vertex of the given PolygonEdge
swap_edge_validity
BRepSwapEdgeValidity swap_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
BRepSwapEdgeValidity swap_edge_validity(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
swap_edge_validity
BRepSwapEdgeValidity swap_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
BRepSwapEdgeValidity swap_edge_validity(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
The chosen apex is the opposite vertex of the given PolygonEdge
is_move_point_valid
bool is_move_point_valid(const BRep & brep, index_t unique_vertex, const Point3D & point)
bool is_move_point_valid(const BRep & brep, index_t unique_vertex, const Point3D & point)
move_point_validity
BRepMovePointValidity move_point_validity(const BRep & brep, index_t unique_vertex, const Point3D & point)
BRepMovePointValidity move_point_validity(const BRep & brep, index_t unique_vertex, const Point3D & point)
elements_after_collapse_edge
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Line3D & line, index_t edge, const Point3D & point)
elements_after_collapse_edge
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge, const Point3D & point)
elements_after_collapse_edge
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
BRepElementsAfterCollapseEdge elements_after_collapse_edge(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, const Point3D & point)
elements_after_swap_edge
BRepElementsAfterSwapEdge elements_after_swap_edge(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
BRepElementsAfterSwapEdge elements_after_swap_edge(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
elements_after_swap_edge
BRepElementsAfterSwapEdge elements_after_swap_edge(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
BRepElementsAfterSwapEdge elements_after_swap_edge(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge, index_t apex)
elements_after_move_point
BRepElementsAfterMovePoint elements_after_move_point(const BRep & brep, index_t unique_vertex, const Point3D & point)
BRepElementsAfterMovePoint elements_after_move_point(const BRep & brep, index_t unique_vertex, const Point3D & point)
are_component_mesh_vertices_included
bool are_component_mesh_vertices_included(const ComponentMeshVertexInclusionQuery & query)
bool are_component_mesh_vertices_included(const ComponentMeshVertexInclusionQuery & query)
swap_along_patch
SolidSwapPatchInfo swap_along_patch(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span patch_vertices, const Triangle3D & macro_triangle)
SolidSwapPatchInfo swap_along_patch(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span patch_vertices, const Triangle3D & macro_triangle)
swap_along_path
SolidSwapPathInfo swap_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, index_t begin, index_t end)
SolidSwapPathInfo swap_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, index_t begin, index_t end)
determine_cuts
std::vector<GeometricSurfacePath2D> determine_cuts(const TriangulatedSurface2D & surface, index_t begin, index_t end, absl::Span<const SurfacePath> path_splits)
std::vector<GeometricSurfacePath2D> determine_cuts(const TriangulatedSurface2D & surface, index_t begin, index_t end, absl::Span<const SurfacePath> path_splits)
determine_cuts
std::vector<GeometricSurfacePath3D> determine_cuts(const TriangulatedSurface3D & surface, index_t begin, index_t end, const Plane & plane, absl::Span<const SurfacePath> path_splits)
std::vector<GeometricSurfacePath3D> determine_cuts(const TriangulatedSurface3D & surface, index_t begin, index_t end, const Plane & plane, absl::Span<const SurfacePath> path_splits)
cut_along_path
SurfaceCutPathInfo<dimension> cut_along_path(const TriangulatedSurface<dimension> & surface, TriangulatedSurfaceModifier<dimension> & modifier, index_t begin, index_t end, absl::Span<const GeometricSurfacePath<dimension> > path_splits)
SurfaceCutPathInfo<dimension> cut_along_path(const TriangulatedSurface<dimension> & surface, TriangulatedSurfaceModifier<dimension> & modifier, index_t begin, index_t end, absl::Span<const GeometricSurfacePath<dimension> > path_splits)
cut_along_path
SurfaceCutPathInfo<2> cut_along_path(const TriangulatedSurface2D & surface, TriangulatedSurfaceModifier2D & modifier, index_t begin, index_t end)
SurfaceCutPathInfo<2> cut_along_path(const TriangulatedSurface2D & surface, TriangulatedSurfaceModifier2D & modifier, index_t begin, index_t end)
cut_along_path
SurfaceCutPathInfo cut_along_path(BRepGeometricModifier & modifier, const Surface3D & surface, index_t begin, index_t end, Span path_splits)
SurfaceCutPathInfo cut_along_path(BRepGeometricModifier & modifier, const Surface3D & surface, index_t begin, index_t end, Span path_splits)
is_collapse_edge_valid
bool is_collapse_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
bool is_collapse_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
is_collapse_edge_valid
bool is_collapse_edge_valid(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
bool is_collapse_edge_valid(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
collapse_edge_validity
SectionCollapseEdgeValidity collapse_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
SectionCollapseEdgeValidity collapse_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
collapse_edge_validity
SectionCollapseEdgeValidity collapse_edge_validity(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
SectionCollapseEdgeValidity collapse_edge_validity(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
is_split_edge_valid
bool is_split_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
bool is_split_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
is_split_edge_valid
bool is_split_edge_valid(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
bool is_split_edge_valid(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
split_edge_validity
SectionSplitEdgeValidity split_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
SectionSplitEdgeValidity split_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
split_edge_validity
SectionSplitEdgeValidity split_edge_validity(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
SectionSplitEdgeValidity split_edge_validity(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
is_swap_edge_valid
bool is_swap_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
bool is_swap_edge_valid(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
swap_edge_validity
SectionSwapEdgeValidity swap_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
SectionSwapEdgeValidity swap_edge_validity(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
is_move_point_valid
bool is_move_point_valid(const Section & section, index_t unique_vertex, const Point2D & point)
bool is_move_point_valid(const Section & section, index_t unique_vertex, const Point2D & point)
move_point_validity
SectionMovePointValidity move_point_validity(const Section & section, index_t unique_vertex, const Point2D & point)
SectionMovePointValidity move_point_validity(const Section & section, index_t unique_vertex, const Point2D & point)
elements_after_collapse_edge
SectionElementsAfterCollapseEdge elements_after_collapse_edge(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
SectionElementsAfterCollapseEdge elements_after_collapse_edge(const Section & section, const Line2D & line, index_t edge, const Point2D & point)
elements_after_collapse_edge
SectionElementsAfterCollapseEdge elements_after_collapse_edge(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
SectionElementsAfterCollapseEdge elements_after_collapse_edge(const Section & section, const Surface2D & surface, const PolygonEdge & edge, const Point2D & point)
minimal_metric
double minimal_metric(const CustomGridMetric3D & metric, const Tetrahedron & tetrahedron)
double minimal_metric(const CustomGridMetric3D & metric, const Tetrahedron & tetrahedron)
cut_along_path
SolidCutPathInfo cut_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span path_splits)
SolidCutPathInfo cut_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span path_splits)
Perform a TetrahedralSolid3D rectilinear cut between two vertices given where to split the tetrahedra.
begin [in] Index of the cut starting vertex
end [in] Index of the cut ending vertex
path_splits [in] Ordered list of Path splits
warning Cut tetrahedra are set as inactive but not deleted.
cut_along_path
SolidCutPathInfo cut_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, index_t begin, index_t end)
SolidCutPathInfo cut_along_path(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, index_t begin, index_t end)
cut_along_patch
SolidCutPatchInfo cut_along_patch(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span boundary_edges, const Triangle3D & triangle)
SolidCutPatchInfo cut_along_patch(const TetrahedralSolid3D & solid, TetrahedralSolidModifier & modifier, Span boundary_edges, const Triangle3D & triangle)
Perform a TetrahedralSolid3D planar cut along a triangle given its boundary edges. These boundary edges are oriented solid edges.
solid [in] TetrahedralSolid to cut
builder [in] Builder of the Solid
boundary_edges [in] List of oriented Patch boundary as solid edges
triangle [in] The triangle corresponding to the patch to insert in solid
warning Cut tetrahedra are set as inactive but not deleted.
determine_cuts
vector determine_cuts(const TetrahedralSolid3D & solid, Span path_splits)
vector determine_cuts(const TetrahedralSolid3D & solid, Span path_splits)
determine_cuts
vector determine_cuts(const TetrahedralSolid3D & solid, const Plane & plane, Span path_splits)
vector determine_cuts(const TetrahedralSolid3D & solid, const Plane & plane, Span path_splits)
Enums
| enum class SPLIT_SIDE |
--
| left | | right |
| enum class POSITION |
--
| outside | | inside | | vertex0 | | vertex1 | | vertex2 | | vertex3 | | edge0 | | edge1 | | edge2 | | edge01 | | edge02 | | edge03 | | edge12 | | edge13 | | edge23 | | facet0 | | facet1 | | facet2 | | facet3 | | parallel |