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

Function telemetryOpenMesh

source/MRMesh/MRMeshLoad.cpp:790–829  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

788}
789
790static void telemetryOpenMesh( const std::string& ext, const Mesh& mesh, const MeshLoadSettings& settings )
791{
792 if ( !settings.telemetrySignal )
793 return;
794
795 std::string signalString = "Open " + ext;
796
797 if ( auto lv = mesh.points.size() ) // not lv = mesh.topology.lastValidVert(), since topology can be empty
798 {
799 signalString += " VP";
800 if ( settings.normals && settings.normals->size() >= lv )
801 signalString += 'N';
802 if ( settings.colors && settings.colors->size() >= lv )
803 signalString += 'C';
804 if ( settings.uvCoords && settings.uvCoords->size() >= lv )
805 signalString += "UV";
806 }
807
808 if ( auto lf = mesh.topology.lastValidFace() )
809 {
810 signalString += " TRI";
811 if ( settings.faceColors && settings.faceColors->size() >= lf )
812 signalString += 'C';
813 }
814
815 if ( settings.texture && !settings.texture->pixels.empty() )
816 signalString += " TEX";
817
818 if ( settings.skippedFaceCount && *settings.skippedFaceCount > 0 )
819 signalString += " SKIPF";
820
821 if ( settings.duplicatedVertexCount && *settings.duplicatedVertexCount > 0 )
822 signalString += " DUPV";
823
824 if ( settings.xf && *settings.xf != AffineXf3f{} )
825 signalString += " XF";
826
827 TelemetrySignal( signalString );
828 telemetryLogSize( mesh );
829}
830
831Expected<Mesh> fromAnySupportedFormat( const std::filesystem::path& file, const MeshLoadSettings& settings /*= {}*/ )
832{

Callers 1

fromAnySupportedFormatFunction · 0.85

Calls 4

lastValidFaceMethod · 0.80
telemetryLogSizeFunction · 0.70
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected