MeshLib Documentation
Loading...
Searching...
No Matches
MRPolyline2Collide.h
Go to the documentation of this file.
1#pragma once
2#include "MRFaceFace.h"
3#include "MRPolyline.h"
4
5namespace MR
6{
7
10
16MRMESH_API std::vector<EdgePointPair> findCollidingEdgePairs( const Polyline2& a, const Polyline2& b,
17 const AffineXf2f* rigidB2A = nullptr, bool firstIntersectionOnly = false );
18
24MRMESH_API std::vector<UndirectedEdgeUndirectedEdge> findCollidingEdges( const Polyline2& a, const Polyline2& b,
25 const AffineXf2f* rigidB2A = nullptr, bool firstIntersectionOnly = false );
26
31MRMESH_API std::pair<UndirectedEdgeBitSet, UndirectedEdgeBitSet> findCollidingEdgesBitsets( const Polyline2& a, const Polyline2& b,
32 const AffineXf2f* rigidB2A = nullptr );
33
35MRMESH_API std::vector<EdgePointPair> findSelfCollidingEdgePairs( const Polyline2& polyline );
36
38MRMESH_API std::vector<UndirectedEdgeUndirectedEdge> findSelfCollidingEdges( const Polyline2& polyline );
39
41MRMESH_API UndirectedEdgeBitSet findSelfCollidingEdgesBS( const Polyline2& polyline );
42
47MRMESH_API bool isInside( const Polyline2& a, const Polyline2& b,
48 const AffineXf2f* rigidB2A = nullptr );
49
51
52} // namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
MRMESH_API std::pair< UndirectedEdgeBitSet, UndirectedEdgeBitSet > findCollidingEdgesBitsets(const Polyline2 &a, const Polyline2 &b, const AffineXf2f *rigidB2A=nullptr)
finds bitset per polyline with colliding edges
MRMESH_API std::vector< EdgePointPair > findCollidingEdgePairs(const Polyline2 &a, const Polyline2 &b, const AffineXf2f *rigidB2A=nullptr, bool firstIntersectionOnly=false)
finds all pairs of colliding edges from two 2d polylines
MRMESH_API bool isInside(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr)
checks that arbitrary mesh part A is inside of closed mesh part B
MRMESH_API std::vector< UndirectedEdgeUndirectedEdge > findCollidingEdges(const Polyline2 &a, const Polyline2 &b, const AffineXf2f *rigidB2A=nullptr, bool firstIntersectionOnly=false)
finds all pairs of colliding edges from two 2d polylines
MRMESH_API std::vector< EdgePointPair > findSelfCollidingEdgePairs(const Polyline2 &polyline)
finds all pairs of colliding edges from 2d polyline
MRMESH_API UndirectedEdgeBitSet findSelfCollidingEdgesBS(const Polyline2 &polyline)
finds the union of all self-intersecting edges
MRMESH_API std::vector< UndirectedEdgeUndirectedEdge > findSelfCollidingEdges(const Polyline2 &polyline)
finds all pairs of colliding edges from 2d polyline
Definition MRCameraOrientationPlugin.h:8
MRMESH_CLASS Vector3< double > Matrix2< double > Matrix4< double > SymMatrix3< double > AffineXf2f
Definition MRMesh/MRMeshFwd.h:202