// 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 _AIS_AngleDimension_HeaderFile #define _AIS_AngleDimension_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_AIS_AngleDimension_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _gp_Pnt_HeaderFile #include #endif #ifndef _gp_Dir_HeaderFile #include #endif #ifndef _gp_Ax1_HeaderFile #include #endif #ifndef _TopoDS_Face_HeaderFile #include #endif #ifndef _AIS_Relation_HeaderFile #include #endif #ifndef _Handle_Geom_Plane_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _DsgPrs_ArrowSide_HeaderFile #include #endif #ifndef _AIS_KindOfDimension_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_PrsMgr_PresentationManager3d_HeaderFile #include #endif #ifndef _Handle_Prs3d_Presentation_HeaderFile #include #endif #ifndef _Handle_Prs3d_Projector_HeaderFile #include #endif #ifndef _Handle_PrsMgr_PresentationManager2d_HeaderFile #include #endif #ifndef _Handle_Graphic2d_GraphicObject_HeaderFile #include #endif #ifndef _Handle_Geom_Transformation_HeaderFile #include #endif #ifndef _Handle_SelectMgr_Selection_HeaderFile #include #endif #ifndef _Handle_Geom_Line_HeaderFile #include #endif class TopoDS_Edge; class Geom_Plane; class TCollection_ExtendedString; class gp_Pnt; class TopoDS_Face; class gp_Ax1; class TopoDS_Shape; class PrsMgr_PresentationManager3d; class Prs3d_Presentation; class Prs3d_Projector; class PrsMgr_PresentationManager2d; class Graphic2d_GraphicObject; class Geom_Transformation; class SelectMgr_Selection; class Geom_Line; //! A framework to define display of angles.
//! These displays are particularly useful in viewing draft prisms.
//! The angle displayed may define an intersection
//! can be between two edges or two faces of a shape
//! or a plane. The display consists of arrows and text.
class AIS_AngleDimension : public AIS_Relation { public: //! Constructs the angle display object defined by the
//! shapes aFShape, aSShape, the plane aPlane, the
//! value aVal and the text aText.
//! aFShape and aSShape are edges.
Standard_EXPORT AIS_AngleDimension(const TopoDS_Edge& aFirstEdge,const TopoDS_Edge& aSecondEdge,const Handle(Geom_Plane)& aPlane,const Standard_Real aVal,const TCollection_ExtendedString& aText); //! Constructs the angle display object defined by the
//! shapes aFShape, aSShape, the plane aPlane, the
//! value aVal, the text aText, the point aPosition, the
//! type of arrow aSymbolPrs, and the arrow length anArrowSize.
//! aFShape and aSShape are edges.
Standard_EXPORT AIS_AngleDimension(const TopoDS_Edge& aFirstEdge,const TopoDS_Edge& aSecondEdge,const Handle(Geom_Plane)& aPlane,const Standard_Real aVal,const TCollection_ExtendedString& aText,const gp_Pnt& aPosition,const DsgPrs_ArrowSide aSymbolPrs,const Standard_Real anArrowSize = 0.0); //! Angle of cone
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aCone,const Standard_Real aVal,const TCollection_ExtendedString& aText); //! Angle of cone
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aCone,const Standard_Real aVal,const TCollection_ExtendedString& aText,const gp_Pnt& aPosition,const DsgPrs_ArrowSide aSymbolPrs,const Standard_Real anArrowSize = 0.01); //! TwoPlanarFaceAngle dimension
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aFirstFace,const TopoDS_Face& aSecondFace,const gp_Ax1& anAxis,const Standard_Real aVal,const TCollection_ExtendedString& aText); //! TwoPlanarFacesAngle dimension with position
//! and text Face can be Plane or Extrusion of line
//! or Offset of those
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aFirstFace,const TopoDS_Face& aSecondFace,const gp_Ax1& anAxis,const Standard_Real aVal,const TCollection_ExtendedString& aText,const gp_Pnt& aPosition,const DsgPrs_ArrowSide aSymbolPrs,const Standard_Real anArrowSize = 0.0); //! Angle dimension between two curvilinear faces
//! Warning:
//! Requaired 0 <= aVal < PI,
//! aVal must be defined exactly.
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aFFace,const TopoDS_Face& aSFace,const Standard_Real aVal,const TCollection_ExtendedString& aText); //! Angle dimension between two curvilinear faces
//! with position and text. Face can be Cone, Cylinder
//! Offset of Cone, Offset of Cylinder
Standard_EXPORT AIS_AngleDimension(const TopoDS_Face& aFFace,const TopoDS_Face& aSFace,const Standard_Real aVal,const TCollection_ExtendedString& aText,const gp_Pnt& aPosition,const DsgPrs_ArrowSide aSymbolPrs,const Standard_Real anArrowSize = 0.001); //! Returns the axis set by the SetAxis method, which
//! serves to locate the angle between two faces.
const gp_Ax1& Axis() const; //! Sets the axis, anAxis, which serves to locate the
//! angle between two faces.
void SetAxis(const gp_Ax1& anAxis) ; Standard_EXPORT void SetConeFace(const TopoDS_Face& aConeFace) ; Standard_EXPORT void SetFirstShape(const TopoDS_Shape& aFShape) ; Standard_EXPORT void SetSecondShape(const TopoDS_Shape& aSShape) ; //! Returns PLANEANGLE as the kind of dimension.
virtual AIS_KindOfDimension KindOfDimension() const; //! Returns true if the angle dimension is movable.
virtual Standard_Boolean IsMovable() const; //! Computes the presentation according to a point of view
//! given by .
//! This method should be used when the associated degenerated Presentations
//! have been transformed by which is not a Pure
//! Translation. The HLR Prs can't be deducted automatically
//! WARNING : must be applied
//! to the object to display before computation !!!
Standard_EXPORT virtual void Compute(const Handle(Prs3d_Projector)& aProjector,const Handle(Geom_Transformation)& aTrsf,const Handle(Prs3d_Presentation)& aPresentation) ; DEFINE_STANDARD_RTTI(AIS_AngleDimension) protected: private: Standard_EXPORT void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,const Handle(Prs3d_Presentation)& aPresentation,const Standard_Integer aMode = 0) ; Standard_EXPORT void Compute(const Handle(Prs3d_Projector)& aProjector,const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void Compute(const Handle(PrsMgr_PresentationManager2d)& aPresentationManager,const Handle(Graphic2d_GraphicObject)& aPresentation,const Standard_Integer aMode = 0) ; Standard_EXPORT virtual void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ; Standard_EXPORT void ComputeConeAngle(const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void ComputeTwoFacesAngle(const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void ComputeTwoPlanarFacesAngle(const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void ComputeTwoCurvilinearFacesAngle(const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void ComputeTwoEdgesAngle(const Handle(Prs3d_Presentation)& aPresentation) ; Standard_EXPORT void ComputeTwoEdgesNullAngle(const Handle(Prs3d_Presentation)& aPresentation,const Handle(Geom_Line)& l1,const Handle(Geom_Line)& l2,const gp_Pnt& ptat11,const gp_Pnt& ptat12,const gp_Pnt& ptat21,const gp_Pnt& ptat22,const Standard_Boolean isInf1,const Standard_Boolean isInf2) ; Standard_EXPORT void ComputeTwoEdgesNotNullAngle(const Handle(Prs3d_Presentation)& aPresentation,const Handle(Geom_Line)& l1,const Handle(Geom_Line)& l2,const gp_Pnt& ptat11,const gp_Pnt& ptat12,const gp_Pnt& ptat21,const gp_Pnt& ptat22,const Standard_Boolean isInf1,const Standard_Boolean isInf2) ; Standard_EXPORT void Compute3DSelection(const Handle(SelectMgr_Selection)& aSelection) ; Standard_EXPORT void Compute2DSelection(const Handle(SelectMgr_Selection)& aSelection) ; Standard_EXPORT void ComputeNull2DSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Real distFS) ; Standard_EXPORT void ComputeConeAngleSelection(const Handle(SelectMgr_Selection)& aSelection) ; Standard_Integer myNbShape; gp_Pnt myCenter; gp_Pnt myFAttach; gp_Pnt mySAttach; gp_Dir myFDir; gp_Dir mySDir; gp_Ax1 myAxis; TopoDS_Face myCone; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif