1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00
occt/samples/mfc/standard/Common/Primitive/Sample2D_Markers.h
2012-03-05 19:23:40 +04:00

101 lines
2.6 KiB
C++
Executable File

#ifndef _Sample2D_Markers_HeaderFile
#define _Sample2D_Markers_HeaderFile
#include <Standard_Macro.hxx>
#include <Standard_DefineHandle.hxx>
DEFINE_STANDARD_HANDLE(Sample2D_Markers,AIS2D_InteractiveObject)
class Sample2D_Markers : public AIS2D_InteractiveObject {
enum Sample2D_CurrentTypeOfMarker {
Sample2D_CTOM_Generic,
Sample2D_CTOM_Polyline,
Sample2D_CTOM_Circle,
Sample2D_CTOM_Ellips
} ;
public:
// Methods PUBLIC
//
// generic marker
Standard_EXPORT Sample2D_Markers (Standard_Integer anIndex ,
Quantity_Length aXPosition ,
Quantity_Length aYPosition ,
Quantity_Length aWidth ,
Quantity_Length anHeight ,
Quantity_PlaneAngle anAngle );
// Polyline marker
Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
Quantity_Length aYPosition ,
const Graphic2d_Array1OfVertex& aListVertex);
// circle marker
Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
Quantity_Length aYPosition ,
Quantity_Length X ,
Quantity_Length Y ,
Quantity_Length Radius );
// ellips marker
Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
Quantity_Length aYPosition ,
Quantity_Length X ,
Quantity_Length Y ,
Quantity_Length MajorRadius ,
Quantity_Length MinorRadius ,
Quantity_PlaneAngle anAngle );
DEFINE_STANDARD_RTTI(Sample2D_Markers)
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private:
// Methods PRIVATE
//
Standard_EXPORT virtual void SetContext(const Handle(AIS2D_InteractiveContext)& theContext);
// Fields PRIVATE
//
Sample2D_CurrentTypeOfMarker myCurrentTypeOfMarker;
Quantity_Length myXPosition ;
Quantity_Length myYPosition ;
// specific generic markers
Standard_Integer myIndex ;
Quantity_Length myWidth ;
Quantity_Length myHeight ;
// specific polyline marker
Graphic2d_Array1OfVertex myListVertex ;
// specific circle & ellips markers
Quantity_Length myX ;
Quantity_Length myY ;
// specific circle marker
Quantity_Length myRadius ;
// specific ellips marker
Quantity_Length myMajorRadius ;
Quantity_Length myMinorRadius ;
Quantity_PlaneAngle myAngle ;
};
// other inCurve functions and methods (like "C++: function call" methods)
//
#endif