// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _BRepTools_ReShape_HeaderFile #define _BRepTools_ReShape_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_BRepTools_ReShape_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeShape_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _TopAbs_ShapeEnum_HeaderFile #include #endif class TopoDS_Shape; //! Rebuilds a Shape by making pre-defined substitutions on some
//! of its components
class BRepTools_ReShape : public MMgt_TShared { public: //! Returns an empty Reshape
Standard_EXPORT BRepTools_ReShape(); //! Clears all substitutions requests
Standard_EXPORT void Clear() ; //! Sets a request to Remove a Shape
//! If is True, only for a shape with the SAME
//! orientation. Else, whatever the orientation
Standard_EXPORT void Remove(const TopoDS_Shape& shape,const Standard_Boolean oriented = Standard_False) ; //! Sets a request to Replace a Shape by a new one
//! If is True, only if the orientation is the same
//! Else, whatever the orientation, and the new shape takes the
//! same orientation as if the replaced one has the
//! same as , else it is reversed
Standard_EXPORT void Replace(const TopoDS_Shape& shape,const TopoDS_Shape& newshape,const Standard_Boolean oriented = Standard_False) ; //! Tells if a shape is recorded for Replace/Remove
Standard_EXPORT Standard_Boolean IsRecorded(const TopoDS_Shape& shape) const; //! Returns the new value for an individual shape
//! If not recorded, returns the original shape itself
//! If to be Removed, returns a Null Shape
//! Else, returns the replacing item
Standard_EXPORT TopoDS_Shape Value(const TopoDS_Shape& shape) const; //! Returns a complete substitution status for a shape
//! 0 : not recorded, = original
//! < 0: to be removed, is NULL
//! > 0: to be replaced, is a new item
//! If is False, returns status and new shape recorded in
//! the map directly for the shape, if True and status > 0 then
//! recursively searches for the last status and new shape.
Standard_EXPORT virtual Standard_Integer Status(const TopoDS_Shape& shape,TopoDS_Shape& newsh,const Standard_Boolean last = Standard_False) ; //! Applies the substitutions requests to a shape
//!
//! gives the level of type until which requests are taken
//! into account. For subshapes of the type no rebuild
//! and futher exploring are done.
//! ACTUALLY, NOT IMPLEMENTED BELOW TopAbs_FACE
//!
//! says how to do on a SOLID,SHELL ... if one of its
//! sub-shapes has been changed:
//! 0: at least one Replace or Remove -> COMPOUND, else as such
//! 1: at least one Remove (Replace are ignored) -> COMPOUND
//! 2: Replace and Remove are both ignored
//! If Replace/Remove are ignored or absent, the result as same
//! type as the starting shape
Standard_EXPORT virtual TopoDS_Shape Apply(const TopoDS_Shape& shape,const TopAbs_ShapeEnum until,const Standard_Integer buildmode) ; //! Applies the substitutions requests to a shape.
//!
//! gives the level of type until which requests are taken
//! into account. For subshapes of the type no rebuild
//! and futher exploring are done.
Standard_EXPORT virtual TopoDS_Shape Apply(const TopoDS_Shape& shape,const TopAbs_ShapeEnum until = TopAbs_SHAPE) ; //!Returns (modifiable) the flag which defines whether Location of shape take into account
//! during replacing shapes.
Standard_EXPORT Standard_Boolean& ModeConsiderLocation() ; //!Returns (modifiable) the flag which defines whether Orientation of shape take into account
//! during replacing shapes.
Standard_EXPORT Standard_Boolean& ModeConsiderOrientation() ; DEFINE_STANDARD_RTTI(BRepTools_ReShape) protected: Standard_Integer myStatus; private: TopTools_DataMapOfShapeShape myNMap; TopTools_DataMapOfShapeShape myRMap; Standard_Boolean myConsiderLocation; Standard_Boolean myConsiderOrientation; }; // other Inline functions and methods (like "C++: function call" methods) #endif