MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / getRefinedXf

Function getRefinedXf

source/MRMesh/MRFeatureRefine.cpp:176–191  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

174}
175
176AffineXf3f getRefinedXf( const Mesh& mesh, FeaturesObjectKind featureType, const VertBitSet& toRefine, const FaceBitSet* referenceFaces )
177{
178 auto selection = referenceFaces ? filterDisjointPoints( mesh, toRefine, *referenceFaces ) : toRefine;
179 // ignore the result if it is too small
180 if ( selection.count() < getPointsMinimalCount( featureType ) )
181 selection = toRefine;
182
183 std::vector<Vector3f> points;
184 points.reserve( selection.count() );
185
186 for ( const auto v : selection )
187 points.emplace_back( mesh.points[v] );
188
189 auto tempObject = makeObjectFromEnum( featureType, points );
190 return tempObject->xf();
191}
192
193AffineXf3f getRefinedXf( const PointCloud& pointCloud, FeaturesObjectKind featureType, const VertBitSet& toRefine, const VertBitSet* referencePoints )
194{

Callers 1

refineFeatureObjectFunction · 0.85

Calls 8

filterDisjointPointsFunction · 0.85
getPointsMinimalCountFunction · 0.85
makeObjectFromEnumFunction · 0.85
countMethod · 0.80
reserveMethod · 0.45
xfMethod · 0.45
diagonalMethod · 0.45
computeBoundingBoxMethod · 0.45

Tested by

no test coverage detected