MeshLib
 
Loading...
Searching...
No Matches
MRLocalTriangulations.h File Reference
#include "MRId.h"
#include "MRVector.h"
#include "MRBuffer.h"
#include <array>
#include <cstdint>
#include <functional>
#include <optional>

Go to the source code of this file.

Classes

struct  MR::FanRecord
 describes one fan of triangles around a point excluding the point More...
 
struct  MR::FanRecordWithCenter
 describes one fan of triangles around a point including the point More...
 
struct  MR::SomeLocalTriangulations
 describes a number of local triangulations of some points (e.g. assigned to a thread) More...
 
struct  MR::AllLocalTriangulations
 triangulations for all points, with easy access by VertId More...
 

Namespaces

namespace  MR
 

Typedefs

using MR::TrianglesRepetitions = std::array<int, 4>
 

Functions

MRMESH_API std::optional< AllLocalTriangulationsMR::uniteLocalTriangulations (const std::vector< SomeLocalTriangulations > &in, const ProgressCallback &progress={})
 
MRMESH_API Vector3f MR::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 point
 
MRMESH_API void MR::orientLocalTriangulations (AllLocalTriangulations &triangs, const VertCoords &coords, const VertBitSet &region, const VertNormals &targetDir)
 orient neighbors around each point in
 
MRMESH_API void MR::orientLocalTriangulations (AllLocalTriangulations &triangs, const VertCoords &coords, const VertBitSet &region, const std::function< Vector3f(VertId)> &targetDir)
 
MRMESH_API bool MR::autoOrientLocalTriangulations (const PointCloud &pointCloud, AllLocalTriangulations &triangs, const VertBitSet &region, ProgressCallback progress={}, Triangulation *outRep3=nullptr, Triangulation *outRep2=nullptr)
 orient neighbors around each point in
 
MRMESH_API TrianglesRepetitions MR::computeTrianglesRepetitions (const AllLocalTriangulations &triangs)
 computes statistics about the number of triangle repetitions in local triangulations
 
MRMESH_API std::vector< UnorientedTriangleMR::findRepeatedUnorientedTriangles (const AllLocalTriangulations &triangs, int repetitions)
 from local triangulations returns all unoriented triangles with given number of repetitions each in [1,3]
 
MRMESH_API Triangulation MR::findRepeatedOrientedTriangles (const AllLocalTriangulations &triangs, int repetitions)
 from local triangulations returns all oriented triangles with given number of repetitions each in [1,3]
 
MRMESH_API void MR::findRepeatedOrientedTriangles (const AllLocalTriangulations &triangs, Triangulation *outRep3, Triangulation *outRep2)
 optional output with all oriented triangles that appear in exactly two local triangulations