MeshLib C++ Docs
Loading...
Searching...
No Matches
MRPolylineTrimWithPlane.h
Go to the documentation of this file.
1#pragma once
2#include "MRPch/MRBindingMacros.h"
3#include "MRMeshFwd.h"
4
5namespace MR
6{
9
16MRMESH_API UndirectedEdgeBitSet subdivideWithPlane( Polyline3& polyline, const Plane3f& plane, EdgeBitSet* newPositiveEdges = {}, std::function<void( EdgeId, EdgeId, float )> onEdgeSplitCallback = {} );
17[[deprecated]] MRMESH_API MR_BIND_IGNORE UndirectedEdgeBitSet subdividePolylineWithPlane( Polyline3& polyline, const Plane3f& plane, std::function<void( EdgeId, EdgeId, float )> onEdgeSplitCallback = {} );
18
20{
22 std::function<void( EdgeId, EdgeId, float )> onEdgeSplitCallback;
25 bool closeLineAfterCut = false;
27 VertMap* outVmap = nullptr;
29 EdgeMap* outEmap = nullptr;
31 Polyline3* otherPart = nullptr;
33 VertMap* otherOutVmap = nullptr;
35 EdgeMap* otherOutEmap = nullptr;
36};
37
42MRMESH_API void trimWithPlane( Polyline3& polyline, const Plane3f& plane, const DividePolylineParameters& params = {} );
43[[deprecated]] MRMESH_API MR_BIND_IGNORE void dividePolylineWithPlane( Polyline3& polyline, const Plane3f& plane, const DividePolylineParameters& params = {} );
44
52MRMESH_API std::vector<EdgeSegment> extractSectionsFromPolyline( const Polyline3& polyline, const Plane3f& plane, float eps, UndirectedEdgeBitSet* positiveEdges = {} );
53
54}
VertMap * outVmap
map from input polyline verts to output
Definition MRPolylineTrimWithPlane.h:27
MRMESH_API MR_BIND_IGNORE void trimWithPlane(Mesh &mesh, const Plane3f &plane, UndirectedEdgeBitSet *outCutEdges=nullptr, FaceHashMap *new2Old=nullptr, float eps=0, std::function< void(EdgeId, EdgeId, float)> onEdgeSplitCallback=nullptr)
trim mesh by plane
EdgeMap * otherOutEmap
map from input polyline edges to other output
Definition MRPolylineTrimWithPlane.h:35
MRMESH_API FaceBitSet subdivideWithPlane(Mesh &mesh, const Plane3f &plane, FaceHashMap *new2Old=nullptr, float eps=0, std::function< void(EdgeId, EdgeId, float)> onEdgeSplitCallback=nullptr)
EdgeMap * outEmap
map from input polyline edges to output
Definition MRPolylineTrimWithPlane.h:29
std::function< void(EdgeId, EdgeId, float)> onEdgeSplitCallback
onEdgeSplitCallback is invoked each time when an edge is split. Receives edge ID before split,...
Definition MRPolylineTrimWithPlane.h:22
MRMESH_API MR_BIND_IGNORE void dividePolylineWithPlane(Polyline3 &polyline, const Plane3f &plane, const DividePolylineParameters &params={})
MRMESH_API MR_BIND_IGNORE UndirectedEdgeBitSet subdividePolylineWithPlane(Polyline3 &polyline, const Plane3f &plane, std::function< void(EdgeId, EdgeId, float)> onEdgeSplitCallback={})
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:13
VertMap * otherOutVmap
map from input polyline verts to other output
Definition MRPolylineTrimWithPlane.h:33
MRMESH_API std::vector< EdgeSegment > extractSectionsFromPolyline(const Polyline3 &polyline, const Plane3f &plane, float eps, UndirectedEdgeBitSet *positiveEdges={})
bool closeLineAfterCut
Definition MRPolylineTrimWithPlane.h:25
Polyline3 * otherPart
otherPart Optional return, polyline composed from edges on the negative side of the plane
Definition MRPolylineTrimWithPlane.h:31
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRPolylineTrimWithPlane.h:20