Go to the source code of this file.
Typedefs | |
| typedef struct MR_std_vector_MR_EdgeTri | MR_std_vector_MR_EdgeTri |
| typedef struct MR_std_vector_MR_VarEdgeTri | MR_std_vector_MR_VarEdgeTri |
| typedef struct MR_std_vector_int | MR_std_vector_int |
| typedef struct MR_std_vector_std_vector_MR_VarEdgeTri | MR_std_vector_std_vector_MR_VarEdgeTri |
Functions | |
| MRC_API MR_std_vector_std_vector_MR_VarEdgeTri * | MR_orderIntersectionContours (const MR_MeshTopology *topologyA, const MR_MeshTopology *topologyB, const MR_std_vector_MR_VarEdgeTri *intersections) |
| MRC_API MR_std_vector_std_vector_MR_VarEdgeTri * | MR_orderSelfIntersectionContours (const MR_MeshTopology *topology, const MR_std_vector_MR_EdgeTri *intersections) |
| MRC_API bool | MR_isClosed_std_vector_MR_VarEdgeTri (const MR_std_vector_MR_VarEdgeTri *contour) |
| MRC_API MR_std_vector_int * | MR_detectLoneContours (const MR_std_vector_std_vector_MR_VarEdgeTri *contours, const bool *ignoreOpen) |
| MRC_API void | MR_removeLoneDegeneratedContours (const MR_MeshTopology *edgesTopology, MR_std_vector_MR_OneMeshContour *faceContours, MR_std_vector_MR_OneMeshContour *edgeContours) |
| MRC_API void | MR_removeLoneContours (MR_std_vector_std_vector_MR_VarEdgeTri *contours, const bool *ignoreOpen) |
| typedef struct MR_std_vector_int MR_std_vector_int |
Generated from C++ container std::vector<int>. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_std_vector_MR_EdgeTri MR_std_vector_MR_EdgeTri |
Generated from C++ container std::vector<MR::EdgeTri>. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_std_vector_MR_VarEdgeTri MR_std_vector_MR_VarEdgeTri |
Generated from C++ container std::vector<MR::VarEdgeTri>. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
Generated from C++ container std::vector<std::vector<MR::VarEdgeTri>>. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| MRC_API MR_std_vector_int * MR_detectLoneContours | ( | const MR_std_vector_std_vector_MR_VarEdgeTri * | contours, |
| const bool * | ignoreOpen ) |
Detects contours that fully lay inside one triangle if ignoreOpen then do not mark non-closed contours as lone, even if they really are returns they indices in contours Generated from function MR::detectLoneContours. Parameter contours can not be null. It is a single object. Parameter ignoreOpen has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_int_Destroy() to free it when you're done using it.
| MRC_API bool MR_isClosed_std_vector_MR_VarEdgeTri | ( | const MR_std_vector_MR_VarEdgeTri * | contour | ) |
returns true if contour is closed Generated from function MR::isClosed. Parameter contour can not be null. It is a single object.
| MRC_API MR_std_vector_std_vector_MR_VarEdgeTri * MR_orderIntersectionContours | ( | const MR_MeshTopology * | topologyA, |
| const MR_MeshTopology * | topologyB, | ||
| const MR_std_vector_MR_VarEdgeTri * | intersections ) |
Combines unordered input intersections (and flips orientation of intersected edges from mesh B) into ordered oriented contours with the properties:
| MRC_API MR_std_vector_std_vector_MR_VarEdgeTri * MR_orderSelfIntersectionContours | ( | const MR_MeshTopology * | topology, |
| const MR_std_vector_MR_EdgeTri * | intersections ) |
Combines unordered input self-intersections (and flips orientation of some intersected edges) into ordered oriented contours with the properties:
| MRC_API void MR_removeLoneContours | ( | MR_std_vector_std_vector_MR_VarEdgeTri * | contours, |
| const bool * | ignoreOpen ) |
Removes contours that fully lay inside one triangle from the contours if ignoreOpen then do not consider non-closed contours as lone, even if they really are Generated from function MR::removeLoneContours. Parameter contours can not be null. It is a single object. Parameter ignoreOpen has a default argument: false, pass a null pointer to use it.
| MRC_API void MR_removeLoneDegeneratedContours | ( | const MR_MeshTopology * | edgesTopology, |
| MR_std_vector_MR_OneMeshContour * | faceContours, | ||
| MR_std_vector_MR_OneMeshContour * | edgeContours ) |
Removes contours with zero area (do not remove if contour is handle on topology) edgesTopology - topology on which contours are represented with edges faceContours - lone contours represented by faces (all intersections are in same mesh A face) edgeContours - lone contours represented by edges (all intersections are in mesh B edges, edgesTopology: meshB.topology) Generated from function MR::removeLoneDegeneratedContours. Parameter edgesTopology can not be null. It is a single object. Parameter faceContours can not be null. It is a single object. Parameter edgeContours can not be null. It is a single object.