- int _id; // id given by creator (unique within the creator instance)
- int _studyId;
- int _idDoc; // id given by SMESHDS_Document
- bool _isShapeToMesh; // set to true when a shape is given (only once)
- list<SMESHDS_Hypothesis*> _subShapeHypothesisList;
- list<SMESH_subMesh*> _subMeshesUsingHypothesisList;
- Handle (SMESHDS_Document) _myDocument;
- Handle (SMESHDS_Mesh) _myMeshDS;
- TopTools_IndexedMapOfShape _subShapes;
- map<int, SMESH_subMesh*> _mapSubMesh;
- SMESH_Gen* _gen;
+ void fillAncestorsMap(const TopoDS_Shape& theShape);
+ std::list<SMESH_subMesh*> getAncestorsSubMeshes
+ (const TopoDS_Shape& theSubShape) const;
+
+protected:
+ int _id; // id given by creator (unique within the creator instance)
+ int _studyId;
+ int _idDoc; // id given by SMESHDS_Document
+ int _groupId; // id generator for group objects
+ int _nbSubShapes; // initial nb of subshapes in the shape to mesh
+ bool _isShapeToMesh;// set to true when a shape is given (only once)
+ std::list <SMESH_subMesh*> _subMeshesUsingHypothesisList;
+ SMESHDS_Document * _myDocument;
+ SMESHDS_Mesh * _myMeshDS;
+ SMESH_Gen * _gen;
+ std::map <int, SMESH_subMesh*> _mapSubMesh;
+ std::map <int, SMESH_Group*> _mapGroup;
+
+ bool _isAutoColor;
+ bool _isModified; //!< modified since last total re-compute, issue 0020693
+
+ double _shapeDiagonal; //!< diagonal size of bounding box of shape to mesh
+
+ TopTools_IndexedDataMapOfShapeListOfShape _mapAncestors;
+
+ TListOfListOfInt _mySubMeshOrder;
+
+ // Struct calling methods at CORBA API implementation level, used to
+ // 1) make an upper level be consistent with a lower one when group removal
+ // is invoked by hyp modification (issue 0020918)
+ // 2) to forget not loaded mesh data at hyp modification
+ TCallUp* _callUp;
+
+protected:
+ SMESH_Mesh();
+ SMESH_Mesh(const SMESH_Mesh&) {};