From 6d7a3b5daf8dd99bf2c8a6271e19ea90a050db7a Mon Sep 17 00:00:00 2001 From: reaper90 Date: Fri, 16 Sep 2022 16:12:01 +0200 Subject: [PATCH] add Surface PersistentID --- SketchUpNET/Surface.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/SketchUpNET/Surface.cpp b/SketchUpNET/Surface.cpp index 6708c14..a6f1b81 100644 --- a/SketchUpNET/Surface.cpp +++ b/SketchUpNET/Surface.cpp @@ -26,6 +26,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO #include #include #include +#include #include #include #include @@ -92,7 +93,12 @@ namespace SketchUpNET System::String^ Layer; - Surface(Loop^ outer, List^ inner, Vector^ normal, double area, List^ vertices, Mesh^ m, System::String^ layername, Material^ backmat, Material^ frontmat) + /// + /// Persistent ID (interhited from SUEntityRef) + /// + int64_t PersistentID; + + Surface(Loop^ outer, List^ inner, Vector^ normal, double area, List^ vertices, Mesh^ m, System::String^ layername, Material^ backmat, Material^ frontmat, int64_t persistentID) { this->OuterEdges = outer; this->InnerEdges = inner; @@ -103,6 +109,7 @@ namespace SketchUpNET this->Area = area; this->Vertices = vertices; this->Layer = layername; + this->PersistentID = persistentID; }; Surface(){}; @@ -269,7 +276,9 @@ namespace SketchUpNET { layername = Utilities::GetLayerName(layer); } - + + int64_t persistentID; + SUEntityGetPersistentID(SUFaceToEntity(face), &persistentID); List^ vertices = gcnew List(); @@ -308,7 +317,7 @@ namespace SketchUpNET Material^ backMat = (materials->ContainsKey(mbackName)) ? materials[mbackName] : Material::FromSU(mback); Material^ frontMat = (materials->ContainsKey(minnerName)) ? materials[minnerName] : Material::FromSU(minner); - Surface^ v = gcnew Surface(Loop::FromSU(outer), inner, normal, area, vertices,m, layername, backMat, frontMat); + Surface^ v = gcnew Surface(Loop::FromSU(outer), inner, normal, area, vertices,m, layername, backMat, frontMat, persistentID); return v; }