void HeeksObj::OnRemove() { #ifdef MULTIPLE_OWNERS if(m_owners.size() == 0)KillGLLists(); #else if(m_owner == NULL)KillGLLists(); #endif }
void CShape::ModifyByMatrix(const double* m){ gp_Trsf mat = make_matrix(m); if(IsMatrixDifferentialScale(mat)) { gp_GTrsf gm(mat); BRepBuilderAPI_GTransform t(m_shape, gm); m_shape = t.Shape(); } else { MakeTransformedShape(mat); } delete_faces_and_edges(); KillGLLists(); create_faces_and_edges(); }
const CShape& CShape::operator=(const CShape& s) { HeeksObj::operator = (s); // don't copy id delete_faces_and_edges(); m_box = s.m_box; m_shape = s.m_shape; m_title = s.m_title; m_color = s.m_color; m_creation_time = s.m_creation_time; m_opacity = s.m_opacity; m_volume_found = s.m_volume_found; if(m_volume_found)m_volume = s.m_volume; KillGLLists(); return *this; }
CShape::~CShape() { KillGLLists(); delete_faces_and_edges(); }
CMeshChild::~CMeshChild() { KillGLLists(); }