private static FDatasmithFacadeActor ParseMeshActor(RhinoSceneHierarchyNode InNode, DatasmithRhinoSceneParser InSceneParser, DatasmithMeshInfo InMeshInfo)
        {
            string HashedActorName = FDatasmithFacadeActor.GetStringHash("A:" + InNode.Info.Name);
            FDatasmithFacadeActorMesh DatasmithActorMesh = new FDatasmithFacadeActorMesh(HashedActorName);

            DatasmithActorMesh.SetLabel(InNode.Info.Label);

            Transform OffsetTransform = Transform.Translation(InMeshInfo.PivotOffset);
            Transform WorldTransform  = Transform.Multiply(InNode.Info.WorldTransform, OffsetTransform);

            DatasmithActorMesh.SetWorldTransform(WorldTransform.ToFloatArray(false));

            string MeshName = FDatasmithFacadeElement.GetStringHash(InMeshInfo.Name);

            DatasmithActorMesh.SetMesh(MeshName);

            if (InNode.Info.bOverrideMaterial)
            {
                RhinoMaterialInfo MaterialInfo = InSceneParser.GetMaterialInfoFromMaterialIndex(InNode.Info.MaterialIndex);
                DatasmithActorMesh.AddMaterialOverride(MaterialInfo.Name, 0);
            }

            return(DatasmithActorMesh);
        }
예제 #2
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FDatasmithFacadeActorMesh obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }