// 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 _AIS2D_ProjShape_HeaderFile #define _AIS2D_ProjShape_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_AIS2D_ProjShape_HeaderFile #include #endif #ifndef _TopTools_ListOfShape_HeaderFile #include #endif #ifndef _HLRAlgo_Projector_HeaderFile #include #endif #ifndef _Handle_HLRBRep_Algo_HeaderFile #include #endif #ifndef _Handle_HLRBRep_PolyAlgo_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Graphic2d_SetOfSegments_HeaderFile #include #endif #ifndef _Handle_GGraphic2d_SetOfCurves_HeaderFile #include #endif #ifndef _AIS2D_InteractiveObject_HeaderFile #include #endif #ifndef _Handle_Graphic2d_Line_HeaderFile #include #endif class HLRBRep_Algo; class HLRBRep_PolyAlgo; class Graphic2d_SetOfSegments; class GGraphic2d_SetOfCurves; class HLRAlgo_Projector; class TopoDS_Shape; class Graphic2d_Line; //! Constructs presentable and selectable projection of
//! TopoDS_Shape on the view plane
class AIS2D_ProjShape : public AIS2D_InteractiveObject { public: //! Initializes the projected shape
Standard_EXPORT AIS2D_ProjShape(); //! Initializes the projected shape with projector , number isolines
Standard_EXPORT AIS2D_ProjShape(const HLRAlgo_Projector& aProjector,const Standard_Integer nbIsos = 3,const Standard_Boolean isPolyAlgo = Standard_False,const Standard_Boolean visHL = Standard_True); //! Adds to the list of projected shapes.
Standard_EXPORT void Add(const TopoDS_Shape& aShape) ; //! sets the projector
Standard_EXPORT void SetProjector(const HLRAlgo_Projector& aProjector) ; //! Indicates the projector
Standard_EXPORT HLRAlgo_Projector Projector() const; Standard_EXPORT void SetNbIsos(const Standard_Integer aNbIsos) ; //! sets the projection of the shape as a polyhedral
//! simplification of the shape if is True
Standard_EXPORT void SetPolyAlgo(const Standard_Boolean aIsPoly = Standard_False) ; //! Sets the hidden line mode if is True
Standard_EXPORT void SetHLMode(const Standard_Boolean aIsHLM = Standard_True) ; //! Indicates the hidden lines are visible
Standard_EXPORT Standard_Boolean IsHLMode() const; //! Indicates the number of isolines
Standard_EXPORT Standard_Integer GetNbIsos() const; //! Indicates the shape was extracted as Algo or PolyAlgo
Standard_EXPORT Standard_Boolean GetIsPoly() const; //! Returns the set of primitives are included into Shape,
//! except hidden lines
Standard_EXPORT Handle_Graphic2d_Line GetPrimitives() const; //! Returns the set of hidden line primitives are included into Shape
Standard_EXPORT Handle_Graphic2d_Line GetHLPrimitives() const; //! Sets the flags for display of all types of edges
Standard_EXPORT void ShowEdges(const Standard_Boolean aSharp = Standard_True,const Standard_Boolean aSmooth = Standard_True,const Standard_Boolean aSewn = Standard_True,const Standard_Boolean anOutline = Standard_True,const Standard_Boolean anIsoline = Standard_True) ; DEFINE_STANDARD_RTTI(AIS2D_ProjShape) protected: private: Standard_EXPORT void CreateAlgo() ; Standard_EXPORT void CreatePolyAlgo() ; Standard_EXPORT void DrawSegments(const TopoDS_Shape& aShape,Handle(Graphic2d_SetOfSegments)& aSofS) ; Standard_EXPORT void DrawCurves(const TopoDS_Shape& aShape,Handle(GGraphic2d_SetOfCurves)& aSofC) ; Standard_EXPORT void ComputeShape() ; TopTools_ListOfShape myListOfShape; HLRAlgo_Projector myProjector; Handle_HLRBRep_Algo myAlgo; Handle_HLRBRep_PolyAlgo myPolyAlgo; Standard_Integer myNbIsos; Standard_Boolean myIsPolyAlgo; Standard_Boolean myIsHiddenLine; Standard_Boolean myESharp; Standard_Boolean myESmooth; Standard_Boolean myESewn; Standard_Boolean myEOutline; Standard_Boolean myEIsoline; Handle_Graphic2d_SetOfSegments mySetOfSegments; Handle_Graphic2d_SetOfSegments myHSetOfSegments; Handle_GGraphic2d_SetOfCurves mySetOfCurves; Handle_GGraphic2d_SetOfCurves myHSetOfCurves; }; // other Inline functions and methods (like "C++: function call" methods) #endif