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

Function pseudonormal

source/MRMesh/MRMeshMath.cpp:510–527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

508}
509
510Vector3f pseudonormal( const MeshTopology & topology, const VertCoords & points, VertId v, const FaceBitSet * region )
511{
512 Vector3f sum;
513 for ( EdgeId e : orgRing( topology, v ) )
514 {
515 const auto l = topology.left( e );
516 if ( l && ( !region || region->test( l ) ) )
517 {
518 auto d0 = edgeVector( topology, points, e );
519 auto d1 = edgeVector( topology, points, topology.next( e ) );
520 auto angle = MR::angle( d0, d1 );
521 auto n = cross( d0, d1 );
522 sum += angle * n.normalized();
523 }
524 }
525
526 return sum.normalized();
527}
528
529Vector3f pseudonormal( const MeshTopology & topology, const VertCoords & points, UndirectedEdgeId ue, const FaceBitSet * region )
530{

Callers 2

pseudonormalMethod · 0.85
isOutsideByProjNormMethod · 0.85

Calls 14

orgRingFunction · 0.85
edgeVectorFunction · 0.85
leftNormalFunction · 0.85
leftMethod · 0.80
rightMethod · 0.80
undirectedMethod · 0.80
angleFunction · 0.70
crossFunction · 0.70
normalFunction · 0.70
testMethod · 0.45
nextMethod · 0.45
normalizedMethod · 0.45

Tested by

no test coverage detected