X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FAIS%2FAIS_Line.hxx;h=05abbcf0787607ec6fccb16e679191c7e864aad5;hp=2d5726fe987545c9a4f89b0c1e13194434986f9b;hb=87432b82788a53706060abffdb4591d1f0757822;hpb=42cf5bc1cacbc83b1bf8639227311ad726522ace diff --git a/src/AIS/AIS_Line.hxx b/src/AIS/AIS_Line.hxx index 2d5726fe98..05abbcf078 100644 --- a/src/AIS/AIS_Line.hxx +++ b/src/AIS/AIS_Line.hxx @@ -17,43 +17,26 @@ #ifndef _AIS_Line_HeaderFile #define _AIS_Line_HeaderFile -#include -#include - -#include #include -#include -#include -#include #include -#include -#include + class Geom_Line; class Geom_Point; -class Prs3d_Presentation; -class Prs3d_Projector; -class Geom_Transformation; -class Quantity_Color; - - -class AIS_Line; -DEFINE_STANDARD_HANDLE(AIS_Line, AIS_InteractiveObject) //! Constructs line datums to be used in construction of //! composite shapes. class AIS_Line : public AIS_InteractiveObject { - + DEFINE_STANDARD_RTTIEXT(AIS_Line, AIS_InteractiveObject) public: - //! Initializes the line aLine. Standard_EXPORT AIS_Line(const Handle(Geom_Line)& aLine); - + //! Initializes a starting point aStartPoint //! and a finishing point aEndPoint for the line. Standard_EXPORT AIS_Line(const Handle(Geom_Point)& aStartPoint, const Handle(Geom_Point)& aEndPoint); - + //! computes the presentation according to a point of view //! given by . //! To be Used when the associated degenerated Presentations @@ -62,62 +45,59 @@ public: //! 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) Standard_OVERRIDE; - + //! Returns the signature 5. - virtual Standard_Integer Signature() const Standard_OVERRIDE; - + virtual Standard_Integer Signature() const Standard_OVERRIDE { return 5; } + //! Returns the type Datum. - virtual AIS_KindOfInteractive Type() const Standard_OVERRIDE; - + virtual AIS_KindOfInteractive Type() const Standard_OVERRIDE { return AIS_KOI_Datum; } + //! Constructs an infinite line. - const Handle(Geom_Line)& Line() const; - - //! Returns the starting point PStart and the end point - //! PEnd of the line set by SetPoints. - void Points (Handle(Geom_Point)& PStart, Handle(Geom_Point)& PEnd) const; - + const Handle(Geom_Line)& Line() const { return myComponent; } + + //! Returns the starting point thePStart and the end point thePEnd of the line set by SetPoints. + void Points (Handle(Geom_Point)& thePStart, Handle(Geom_Point)& thePEnd) const + { + thePStart = myStartPoint; + thePEnd = myEndPoint; + } + //! instantiates an infinite line. - void SetLine (const Handle(Geom_Line)& L); - + void SetLine (const Handle(Geom_Line)& theLine) + { + myComponent = theLine; + myLineIsSegment = Standard_False; + } - //! Sets the starting point P1 and ending point P2 of the + //! Sets the starting point thePStart and ending point thePEnd of the //! infinite line to create a finite line segment. - void SetPoints (const Handle(Geom_Point)& P1, const Handle(Geom_Point)& P2); - - //! Provides a new color setting aColor for the line in the - //! drawing tool, or "Drawer". - Standard_EXPORT void SetColor (const Quantity_NameOfColor aColor) Standard_OVERRIDE; - + void SetPoints (const Handle(Geom_Point)& thePStart, const Handle(Geom_Point)& thePEnd) + { + myStartPoint = thePStart; + myEndPoint = thePEnd; + myLineIsSegment = Standard_True; + } + + //! Provides a new color setting aColor for the line in the drawing tool, or "Drawer". Standard_EXPORT void SetColor (const Quantity_Color& aColor) Standard_OVERRIDE; - + //! Provides the new width setting aValue for the line in //! the drawing tool, or "Drawer". Standard_EXPORT void SetWidth (const Standard_Real aValue) Standard_OVERRIDE; - + //! Removes the color setting and returns the original color. Standard_EXPORT void UnsetColor() Standard_OVERRIDE; - + //! Removes the width setting and returns the original width. Standard_EXPORT void UnsetWidth() Standard_OVERRIDE; - - - - DEFINE_STANDARD_RTTI(AIS_Line,AIS_InteractiveObject) - -protected: - - - - private: - Standard_EXPORT void Compute (const Handle(PrsMgr_PresentationManager3d)& aPresentationManager, const Handle(Prs3d_Presentation)& aPresentation, const Standard_Integer aMode = 0) Standard_OVERRIDE; Standard_EXPORT void Compute (const Handle(Prs3d_Projector)& aProjector, const Handle(Prs3d_Presentation)& aPresentation) Standard_OVERRIDE; - Standard_EXPORT void ComputeSelection (const Handle(SelectMgr_Selection)& aSelection, const Standard_Integer aMode); + Standard_EXPORT void ComputeSelection (const Handle(SelectMgr_Selection)& aSelection, const Standard_Integer aMode) Standard_OVERRIDE; Standard_EXPORT void ComputeInfiniteLine (const Handle(Prs3d_Presentation)& aPresentation); @@ -127,19 +107,15 @@ private: Standard_EXPORT void ComputeSegmentLineSelection (const Handle(SelectMgr_Selection)& aSelection); +private: + Handle(Geom_Line) myComponent; Handle(Geom_Point) myStartPoint; Handle(Geom_Point) myEndPoint; Standard_Boolean myLineIsSegment; - }; - -#include - - - - +DEFINE_STANDARD_HANDLE(AIS_Line, AIS_InteractiveObject) #endif // _AIS_Line_HeaderFile