// 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 _Graphic2d_SetOfMarkers_HeaderFile #define _Graphic2d_SetOfMarkers_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Graphic2d_SetOfMarkers_HeaderFile #include #endif #ifndef _TColStd_SequenceOfInteger_HeaderFile #include #endif #ifndef _TShort_SequenceOfShortReal_HeaderFile #include #endif #ifndef _Handle_TColStd_HSequenceOfInteger_HeaderFile #include #endif #ifndef _TColStd_MapOfInteger_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Quantity_Length_HeaderFile #include #endif #ifndef _Graphic2d_Line_HeaderFile #include #endif #ifndef _Handle_Graphic2d_GraphicObject_HeaderFile #include #endif #ifndef _Quantity_PlaneAngle_HeaderFile #include #endif #ifndef _Handle_Graphic2d_Drawer_HeaderFile #include #endif #ifndef _Handle_TShort_HArray1OfShortReal_HeaderFile #include #endif #ifndef _Standard_ShortReal_HeaderFile #include #endif #ifndef _Aspect_FStream_HeaderFile #include #endif #ifndef _Graphic2d_PickMode_HeaderFile #include #endif class TColStd_HSequenceOfInteger; class Graphic2d_MarkerDefinitionError; class Standard_OutOfRange; class Graphic2d_GraphicObject; class Graphic2d_Drawer; class TShort_HArray1OfShortReal; class TColStd_MapOfInteger; //! The primitive SetOfMarkers
//! Warning: This primitive must be use as possible for performance
//! improvment but is drawn with a global marker attributes
//! for all the set.
//! NOTE: than the method PickedIndex() permits to known
//! the last picked marker in the set.
//! SAV : 14/11/01 : Added a set of methods (marked SAV before declaration)
//! to provide highlighting/selection
//! of SetOfMarkers elements. These methods should be redefined
//! for other SetOf<>.
//!
//! SAV : 23/05/02 : WARNING!!! method PickByCircle performs only detection
//! function. It doesn't cause any visual highlighting.
class Graphic2d_SetOfMarkers : public Graphic2d_Line { public: //! Creates an empty set of markers in the graphic
//! object .
Standard_EXPORT Graphic2d_SetOfMarkers(const Handle(Graphic2d_GraphicObject)& aGraphicObject); //! Add a pixel point marker in the set
Standard_EXPORT void Add(const Quantity_Length X,const Quantity_Length Y) ; //! Add a marker of predefined index in the set
//! at position , and size ,.
//! Angle is measured counterclockwise with 0 radian
//! at 3 o'clock.
//! Trigger: Raises MarkerDefinitionError if the
//! marker index is <= 0 or undefined in the MarkMap,
//! or the marker size is <= 0.
Standard_EXPORT void Add(const Standard_Integer anIndex,const Quantity_Length X,const Quantity_Length Y,const Quantity_Length aWidth,const Quantity_Length anHeight,const Quantity_PlaneAngle anAngle = 0.0) ; //! Returns the number of markers in the set.
Standard_EXPORT Standard_Integer Length() const; //! Returns the marker type, position, sizes and angle
//! and type from the set at rank .
//! Warning: For the pixel point marker the returned is NULL
//! Trigger: Raises OutOfRange if is <1 or >Length()
Standard_EXPORT void Values(const Standard_Integer aRank,Standard_Integer& anIndex,Quantity_Length& X,Quantity_Length& Y,Quantity_Length& aW,Quantity_Length& aH,Quantity_PlaneAngle& anAngle) const; //! Declares that previously highlighted elements will be selected ones.
Standard_EXPORT virtual Standard_Boolean SetElementsSelected() ; Standard_EXPORT virtual Standard_Boolean HasSelectedElements() ; Standard_EXPORT virtual void ClearSelectedElements() ; Standard_EXPORT const TColStd_MapOfInteger& GetSelectedElements() const; //! adds/removes marker to/from selection map.
Standard_EXPORT void AddOrRemoveSelected(const Standard_Integer index) ; Standard_EXPORT virtual void Save(Aspect_FStream& aFStream) const; //! sets limit of number elements to be highlighted.
Standard_EXPORT void SetHighlightedLimit(const Standard_Integer number) ; //! Changes myScaledWidth field. As this value used in detection
//! mechanism it should be reset after view transformation.
Standard_EXPORT void SetScaledWidth(const Standard_ShortReal width) ; DEFINE_STANDARD_RTTI(Graphic2d_SetOfMarkers) protected: //! Draws the set of markers .
Standard_EXPORT void Draw(const Handle(Graphic2d_Drawer)& aDrawer) ; //! Draws element of the set .
Standard_EXPORT virtual void DrawElement(const Handle(Graphic2d_Drawer)& aDrawer,const Standard_Integer anIndex) ; //! Draws the all picked elements of the primitive .
Standard_EXPORT virtual void DrawPickedElements(const Handle(Graphic2d_Drawer)& aDrawer) ; //! Draws the all selected elements of the primitive .
Standard_EXPORT virtual void DrawSelectedElements(const Handle(Graphic2d_Drawer)& aDrawer) ; //! Draws vertex of the set .
Standard_EXPORT virtual void DrawVertex(const Handle(Graphic2d_Drawer)& aDrawer,const Standard_Integer anIndex) ; //! Returns Standard_True if one marker of the set
//! is picked, Standard_False if not.
//! Warning: The PickIndex() method returns the rank of the picked
//! marker if any.
Standard_EXPORT Standard_Boolean Pick(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal aPrecision,const Handle(Graphic2d_Drawer)& aDrawer) ; Standard_EXPORT virtual Standard_Boolean Pick(const Standard_ShortReal X1,const Standard_ShortReal Y1,const Standard_ShortReal X2,const Standard_ShortReal Y2,const Handle(Graphic2d_Drawer)& aDrawer,const Graphic2d_PickMode aPickMode) ; Standard_EXPORT virtual Standard_Boolean PickByCircle(const Standard_ShortReal x,const Standard_ShortReal y,const Standard_ShortReal radius,const Handle(Graphic2d_Drawer)& aDrawer,const Graphic2d_PickMode aPickMode) ; private: Standard_EXPORT void DrawElements(const Handle(Graphic2d_Drawer)& aDrawer,const Handle(TShort_HArray1OfShortReal)& x,const Handle(TShort_HArray1OfShortReal)& y) ; TColStd_SequenceOfInteger myType; TShort_SequenceOfShortReal myX; TShort_SequenceOfShortReal myY; TShort_SequenceOfShortReal myWidth; TShort_SequenceOfShortReal myHeight; TShort_SequenceOfShortReal myAngle; Handle_TColStd_HSequenceOfInteger mySelIndices; TColStd_MapOfInteger myMapOfSelected; Standard_Integer myHLimit; Standard_Boolean mySuppressHigh; Quantity_Length myScaledWidth; }; // other Inline functions and methods (like "C++: function call" methods) #endif