58[[nodiscard]] MRMESH_API std::optional<AllLocalTriangulations>
uniteLocalTriangulations(
const std::vector<SomeLocalTriangulations> & in,
const ProgressCallback & progress = {} );
69 Triangulation * outRep3 =
nullptr,
70 Triangulation * outRep2 = nullptr );
90 Triangulation * outRep3,
91 Triangulation * outRep2 );
std::vector<V>-like container that is 1) resized without initialization of its elements,...
Definition MRBuffer.h:58
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
FanRecordWithCenter(VertId c={}, VertId b={}, std::uint32_t fn=0)
Definition MRLocalTriangulations.h:37
VertId center
center point in the fan
Definition MRLocalTriangulations.h:35
MRMESH_API TrianglesRepetitions computeTrianglesRepetitions(const AllLocalTriangulations &triangs)
computes statistics about the number of triangle repetitions in local triangulations
MRMESH_API std::optional< AllLocalTriangulations > uniteLocalTriangulations(const std::vector< SomeLocalTriangulations > &in, const ProgressCallback &progress={})
MRMESH_API Triangulation findRepeatedOrientedTriangles(const AllLocalTriangulations &triangs, int repetitions)
from local triangulations returns all oriented triangles with given number of repetitions each in [1,...
MRMESH_API void orientLocalTriangulations(AllLocalTriangulations &triangs, const VertCoords &coords, const VertBitSet ®ion, const VertNormals &targetDir)
orient neighbors around each point in
std::vector< FanRecordWithCenter > fanRecords
Definition MRLocalTriangulations.h:45
FanRecord(NoInit)
Definition MRLocalTriangulations.h:28
std::array< int, 4 > TrianglesRepetitions
Definition MRLocalTriangulations.h:76
Buffer< VertId > neighbors
Definition MRLocalTriangulations.h:52
MRMESH_API std::vector< UnorientedTriangle > findRepeatedUnorientedTriangles(const AllLocalTriangulations &triangs, int repetitions)
from local triangulations returns all unoriented triangles with given number of repetitions each in [...
Vector< FanRecord, VertId > fanRecords
Definition MRLocalTriangulations.h:53
MRMESH_API Vector3f computeNormal(const AllLocalTriangulations &triangs, const VertCoords &points, VertId v)
compute normal at point by averaging neighbor triangle normals weighted by triangle's angle at the po...
MRMESH_API bool autoOrientLocalTriangulations(const PointCloud &pointCloud, AllLocalTriangulations &triangs, const VertBitSet ®ion, ProgressCallback progress={}, Triangulation *outRep3=nullptr, Triangulation *outRep2=nullptr)
orient neighbors around each point in
VertId maxCenterId
Definition MRLocalTriangulations.h:46
VertId border
Definition MRLocalTriangulations.h:22
FanRecordWithCenter(NoInit)
Definition MRLocalTriangulations.h:38
std::uint32_t firstNei
the position of first neigbor in LocalTriangulations::neighbours
Definition MRLocalTriangulations.h:25
std::vector< VertId > neighbors
Definition MRLocalTriangulations.h:44
FanRecord(VertId b={}, std::uint32_t fn=0)
Definition MRLocalTriangulations.h:27
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
triangulations for all points, with easy access by VertId
Definition MRLocalTriangulations.h:51
describes one fan of triangles around a point including the point
Definition MRLocalTriangulations.h:33
describes one fan of triangles around a point excluding the point
Definition MRLocalTriangulations.h:19
Definition MRPointCloud.h:17
describes a number of local triangulations of some points (e.g. assigned to a thread)
Definition MRLocalTriangulations.h:43