MeshLib Documentation
Loading...
Searching...
No Matches
MRMeshC/MRContoursCut.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRId.h"
6#include "MRVector.h"
7
9
17
18// Simple point on mesh, represented by primitive id and coordinate in mesh space
31
32MR_VECTOR_DECL( OneMeshIntersection )
33
34// One contour on mesh
35typedef struct MROneMeshContour
36{
37 MRVectorOneMeshIntersection intersections;
38 bool closed;
39}
41
43
46
49
52
53// Converts ordered continuous contours of two meshes to OneMeshContours
54// converters is required for better precision in case of degenerations
55// note that contours should not have intersections
57 const MRContinuousContours* contours,
58 bool getMeshAIntersections,
59 const MRCoordinateConverters* converters,
60 const MRAffineXf3f* rigidB2A );
61
MRMESHC_API void mrOneMeshContoursFree(MROneMeshContours *contours)
deallocates the OneMeshContours object
MRMESHC_API const MROneMeshContour mrOneMeshContoursGet(const MROneMeshContours *contours, size_t index)
gets the contours' value at index
MRMESHC_API MROneMeshContours * mrGetOneMeshIntersectionContours(const MRMesh *meshA, const MRMesh *meshB, const MRContinuousContours *contours, bool getMeshAIntersections, const MRCoordinateConverters *converters, const MRAffineXf3f *rigidB2A)
MRMESHC_API size_t mrOneMeshContoursSize(const MROneMeshContours *contours)
gets the contours' size
MROneMeshIntersectionVariantIndex
Definition MRMeshC/MRContoursCut.h:11
@ MROneMeshIntersectionVariantIndexFace
Definition MRMeshC/MRContoursCut.h:12
@ MROneMeshIntersectionVariantIndexVertex
Definition MRMeshC/MRContoursCut.h:14
@ MROneMeshIntersectionVariantIndexEdge
Definition MRMeshC/MRContoursCut.h:13
struct MROneMeshIntersection MROneMeshIntersection
struct MROneMeshContours MROneMeshContours
Definition MRMeshC/MRContoursCut.h:42
struct MROneMeshContour MROneMeshContour
struct MRContinuousContours MRContinuousContours
Definition MRMeshC/MRIntersectionContour.h:20
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRMesh MRMesh
Definition MRMeshC/MRMeshFwd.h:43
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
#define MR_VECTOR_DECL(Type)
Definition MRMeshC/MRVector.h:30
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRMeshC/MRAffineXf.h:10
this struct contains coordinate converters float-int-float
Definition MRMeshC/MRPrecisePredicates3.h:21
edge index
Definition MRMeshC/MRId.h:8
face index
Definition MRMeshC/MRId.h:12
Definition MRMeshC/MRContoursCut.h:36
MRVectorOneMeshIntersection intersections
Definition MRMeshC/MRContoursCut.h:37
bool closed
Definition MRMeshC/MRContoursCut.h:38
Definition MRMeshC/MRContoursCut.h:20
unsigned char primitiveIdIndex
Definition MRMeshC/MRContoursCut.h:27
MREdgeId edge
Definition MRMeshC/MRContoursCut.h:24
MRVector3f coordinate
Definition MRMeshC/MRContoursCut.h:28
union MROneMeshIntersection::@2 primitiveId
MRVertId vertex
Definition MRMeshC/MRContoursCut.h:25
MRFaceId face
Definition MRMeshC/MRContoursCut.h:23
three-dimensional vector
Definition MRMeshC/MRVector3.h:9
vertex index
Definition MRMeshC/MRId.h:14