X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FAIS%2FAIS_Line.hxx;h=2345a8bfd10d4477e66fd86df639d5f6e0c7ae3b;hp=2d5726fe987545c9a4f89b0c1e13194434986f9b;hb=4c7a3faef5f292475c23ee615ad49d57fc039b58;hpb=42cf5bc1cacbc83b1bf8639227311ad726522ace diff --git a/src/AIS/AIS_Line.hxx b/src/AIS/AIS_Line.hxx index 2d5726fe98..2345a8bfd1 100644 --- a/src/AIS/AIS_Line.hxx +++ b/src/AIS/AIS_Line.hxx @@ -17,107 +17,76 @@ #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 - //! 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) 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 +96,18 @@ private: Standard_EXPORT void ComputeSegmentLineSelection (const Handle(SelectMgr_Selection)& aSelection); + //! Replace aspects of already computed groups with the new value. + void replaceWithNewLineAspect (const Handle(Prs3d_LineAspect)& theAspect); + +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