From 6dd21652fa37c464d45d4a46c3769e74e6573359 Mon Sep 17 00:00:00 2001 From: Fedor Chelnokov Date: Mon, 23 Jun 2025 15:00:43 +0300 Subject: [PATCH 1/2] Object Info: show mesh coloring type --- source/MRMesh/MREnums.cpp | 22 ++++++++++++++++++++++ source/MRMesh/MREnums.h | 5 +++++ source/MRMesh/MRMesh.vcxproj | 1 + source/MRMesh/MRMesh.vcxproj.filters | 3 +++ source/MRMesh/MRObjectMesh.cpp | 2 ++ 5 files changed, 33 insertions(+) create mode 100644 source/MRMesh/MREnums.cpp diff --git a/source/MRMesh/MREnums.cpp b/source/MRMesh/MREnums.cpp new file mode 100644 index 000000000000..53d8fe6bb940 --- /dev/null +++ b/source/MRMesh/MREnums.cpp @@ -0,0 +1,22 @@ +#include "MREnums.h" + +namespace MR +{ + +const char * asString( ColoringType ct ) +{ + switch ( ct ) + { + case ColoringType::SolidColor: + return "SolidColor"; + case ColoringType::PrimitivesColorMap: + return "PrimitivesColorMap"; + case ColoringType::VertsColorMap: + return "VertsColorMap"; + default: + assert( false ); + return ""; + } +} + +} //namespace MR diff --git a/source/MRMesh/MREnums.h b/source/MRMesh/MREnums.h index 258d241b0f1c..51d57152cda9 100644 --- a/source/MRMesh/MREnums.h +++ b/source/MRMesh/MREnums.h @@ -1,5 +1,7 @@ #pragma once +#include "MRMeshFwd.h" + namespace MR { @@ -59,6 +61,9 @@ enum class ColoringType VertsColorMap ///< Use different color (taken from verts colormap) for each vertex }; +/// returns string representation of enum values +[[nodiscard]] MRMESH_API const char * asString( ColoringType ct ); + enum class UseAABBTree : char { No, // AABB-tree of the mesh will not be used, even if it is available diff --git a/source/MRMesh/MRMesh.vcxproj b/source/MRMesh/MRMesh.vcxproj index 725d818db32c..69723d4dc4a7 100644 --- a/source/MRMesh/MRMesh.vcxproj +++ b/source/MRMesh/MRMesh.vcxproj @@ -426,6 +426,7 @@ + diff --git a/source/MRMesh/MRMesh.vcxproj.filters b/source/MRMesh/MRMesh.vcxproj.filters index 8b4e0751bee6..45e52ce3d7e7 100644 --- a/source/MRMesh/MRMesh.vcxproj.filters +++ b/source/MRMesh/MRMesh.vcxproj.filters @@ -2165,6 +2165,9 @@ Source Files\Contours + + Source Files\Basic + diff --git a/source/MRMesh/MRObjectMesh.cpp b/source/MRMesh/MRObjectMesh.cpp index f217dbbc46d2..34130373de11 100644 --- a/source/MRMesh/MRObjectMesh.cpp +++ b/source/MRMesh/MRObjectMesh.cpp @@ -95,6 +95,8 @@ std::vector ObjectMesh::getInfoLines() const for ( TextureId i = TextureId{ 0 }; i < textures_.size(); ++i ) res.push_back( "texture " + std::to_string( i ) + ": " + std::to_string( textures_[i].resolution.x) + " x " + std::to_string(textures_[i].resolution.y)); + res.push_back( std::string( "coloring type: " ) + asString( getColoringType() ) ); + if ( !data_.uvCoordinates.empty() ) { res.push_back( "uv-coords: " + std::to_string( data_.uvCoordinates.size() ) ); From 8b4b73a58bde30fefdccdb8ff659ac20d80d7aaa Mon Sep 17 00:00:00 2001 From: Fedor Chelnokov Date: Mon, 23 Jun 2025 15:18:31 +0300 Subject: [PATCH 2/2] #include --- source/MRMesh/MREnums.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/source/MRMesh/MREnums.cpp b/source/MRMesh/MREnums.cpp index 53d8fe6bb940..7138f47bd246 100644 --- a/source/MRMesh/MREnums.cpp +++ b/source/MRMesh/MREnums.cpp @@ -1,4 +1,5 @@ #include "MREnums.h" +#include namespace MR {