// File: TopoDS_TShape.lxx // Created: Wed Mar 27 14:37:33 1991 // Author: Remi LEQUETTE #include #include #include // The Convex method can conflict with Convex defined as an integer // in X.h #ifdef Convex #undef Convex #endif // Defined mask values #define TopoDS_TShape_Flags_Free (1<<0) #define TopoDS_TShape_Flags_Modified (1<<1) #define TopoDS_TShape_Flags_Checked (1<<2) #define TopoDS_TShape_Flags_Orientable (1<<3) #define TopoDS_TShape_Flags_Closed (1<<4) #define TopoDS_TShape_Flags_Infinite (1<<5) #define TopoDS_TShape_Flags_Convex (1<<6) //======================================================================= //function : TopoDS_TShape //purpose : Constructor, Empty TShape //======================================================================= inline TopoDS_TShape::TopoDS_TShape() : myFlags(TopoDS_TShape_Flags_Free | TopoDS_TShape_Flags_Modified | TopoDS_TShape_Flags_Orientable) { } //======================================================================= //function : Free //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Free() const { return ((myFlags & TopoDS_TShape_Flags_Free) != 0); } //======================================================================= //function : Free //purpose : //======================================================================= inline void TopoDS_TShape::Free(const Standard_Boolean F) { if (F) myFlags |= TopoDS_TShape_Flags_Free; else myFlags &= ~TopoDS_TShape_Flags_Free; } //======================================================================= //function : Modified //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Modified() const { return ((myFlags & TopoDS_TShape_Flags_Modified) != 0); } //======================================================================= //function : Modified //purpose : //======================================================================= inline void TopoDS_TShape::Modified(const Standard_Boolean M) { if (M) { myFlags |= TopoDS_TShape_Flags_Modified; // When a TShape is modified it is also unchecked myFlags &= ~TopoDS_TShape_Flags_Checked; } else myFlags &= ~TopoDS_TShape_Flags_Modified; } //======================================================================= //function : Checked //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Checked() const { return ((myFlags & TopoDS_TShape_Flags_Checked) != 0); } //======================================================================= //function : Checked //purpose : //======================================================================= inline void TopoDS_TShape::Checked(const Standard_Boolean M) { if (M) myFlags |= TopoDS_TShape_Flags_Checked; else myFlags &= ~TopoDS_TShape_Flags_Checked; } //======================================================================= //function : Orientable //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Orientable() const { return ((myFlags & TopoDS_TShape_Flags_Orientable) != 0); } //======================================================================= //function : Orientable //purpose : //======================================================================= inline void TopoDS_TShape::Orientable(const Standard_Boolean M) { if (M) myFlags |= TopoDS_TShape_Flags_Orientable; else myFlags &= ~TopoDS_TShape_Flags_Orientable; } //======================================================================= //function : Closed //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Closed() const { return ((myFlags & TopoDS_TShape_Flags_Closed) != 0); } //======================================================================= //function : Closed //purpose : //======================================================================= inline void TopoDS_TShape::Closed(const Standard_Boolean M) { if (M) myFlags |= TopoDS_TShape_Flags_Closed; else myFlags &= ~TopoDS_TShape_Flags_Closed; } //======================================================================= //function : Infinite //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Infinite() const { return ((myFlags & TopoDS_TShape_Flags_Infinite) != 0); } //======================================================================= //function : Infinite //purpose : //======================================================================= inline void TopoDS_TShape::Infinite(const Standard_Boolean M) { if (M) myFlags |= TopoDS_TShape_Flags_Infinite; else myFlags &= ~TopoDS_TShape_Flags_Infinite; } //======================================================================= //function : Convex //purpose : //======================================================================= inline Standard_Boolean TopoDS_TShape::Convex() const { return ((myFlags & TopoDS_TShape_Flags_Convex) != 0); } //======================================================================= //function : Convex //purpose : //======================================================================= inline void TopoDS_TShape::Convex(const Standard_Boolean M) { if (M) myFlags |= TopoDS_TShape_Flags_Convex; else myFlags &= ~TopoDS_TShape_Flags_Convex; } //======================================================================= //function : Shapes //purpose : //======================================================================= inline const TopoDS_ListOfShape& TopoDS_TShape::Shapes() const { return myShapes; } //======================================================================= //function : ChangeShapes //purpose : //======================================================================= inline TopoDS_ListOfShape& TopoDS_TShape::ChangeShapes() { return myShapes; }