Esempio n. 1
0
 public void Dispose()
 {
     m_identity = null;
     m_model    = null;
     m_defaultMaterialIdentity = null;
     foreach (var item in m_instances.Keys)
     {
         m_instances[item].Dispose();
         //m_instances[item] = null;
     }
     foreach (var item in m_groups.Keys)
     {
         m_groups[item].Dispose();
         //m_groups[item] = null;
     }
     foreach (var item in m_faces.Keys)
     {
         m_faces[item].Dispose();
         //m_faces[item] = null;
     }
     foreach (var item in m_clusters.Keys)
     {
         m_clusters[item].Dispose();
         //m_clusters[item] = null;
     }
     m_name      = null;
     m_transform = null;
 }
Esempio n. 2
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="groupRef"></param>
        public void Load(SUGroupRef groupRef)
        {
            SUDrawingElementRef drawingRef = SKPCExport.SUGroupToDrawingElement(groupRef);
            SUEntityRef         entityRef  = SKPCExport.SUDrawingElementToEntity(drawingRef);

            m_identity = SkpEntityCache.GetIdentity(entityRef);
            m_defaultMaterialIdentity = SkpEntityCache.GetMaterialDefault(drawingRef);

            SUEntitiesRef entities = default;

            SKPCExport.SUGroupGetEntities(groupRef, ref entities);

            m_faces     = SkpFace.GetEntityFaces(entities, Model);
            m_instances = SkpInstance.GetEntityInstances(entities, Model);
            m_groups    = SkpGroup.GetEntityGroups(entities, Model);

            SUTransformation transform = default;

            SKPCExport.SUGroupGetTransform(groupRef, ref transform);
            m_transform = new SkpTransform(transform);

            SUStringRef groupName = default(SUStringRef);

            SKPCExport.SUStringCreate(ref groupName);
            SKPCExport.SUGroupGetName(groupRef, ref groupName);
            m_name = Utilities.GetString(groupName);
            SKPCExport.SUStringRelease(ref groupName);

            m_clusters = SkpFaceCluster.Load(m_faces.Values, m_model);
        }