mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-06 18:26:22 +03:00
58 lines
2.1 KiB
C++
Executable File
58 lines
2.1 KiB
C++
Executable File
#include "stdafx.h"
|
|
|
|
#include "Sample2D_Markers.h"
|
|
|
|
IMPLEMENT_STANDARD_HANDLE(Sample2D_Markers,AIS_InteractiveObject)
|
|
IMPLEMENT_STANDARD_RTTIEXT(Sample2D_Markers,AIS_InteractiveObject)
|
|
|
|
// generic marker
|
|
Sample2D_Markers::Sample2D_Markers (const Quantity_Length theXPosition ,
|
|
const Quantity_Length theYPosition ,
|
|
const Aspect_TypeOfMarker theMarkerType,
|
|
const Quantity_Color theColor,
|
|
const Standard_Real theScaleOrId)
|
|
:AIS_InteractiveObject(),myListVertex(1,1)
|
|
{
|
|
myXPosition = theXPosition;
|
|
myYPosition = theYPosition;
|
|
myMarkerType = theMarkerType;
|
|
myColor = theColor;
|
|
myIndex = theScaleOrId;
|
|
}
|
|
|
|
Sample2D_Markers::Sample2D_Markers (const Quantity_Length theXPosition ,
|
|
const Quantity_Length theYPosition ,
|
|
const Graphic3d_Array1OfVertex& theListVertex,
|
|
const Aspect_TypeOfMarker theMarkerType,
|
|
const Quantity_Color theColor,
|
|
const Standard_Real theScaleOrId)
|
|
:AIS_InteractiveObject(),myListVertex(1,6)
|
|
{
|
|
myXPosition = theXPosition;
|
|
myYPosition = theYPosition;
|
|
myMarkerType = theMarkerType;
|
|
myColor = theColor;
|
|
myIndex = theScaleOrId;
|
|
myListVertex = theListVertex;
|
|
}
|
|
|
|
|
|
void Sample2D_Markers::Compute ( const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
|
|
const Handle(Prs3d_Presentation)& aPresentation,
|
|
const Standard_Integer aMode)
|
|
{
|
|
if(myMarkerType == Aspect_TOM_USERDEFINED)
|
|
{
|
|
Handle(Graphic3d_AspectMarker3d) aMarker = new Graphic3d_AspectMarker3d(Aspect_TOM_POINT,myColor,myIndex);
|
|
Prs3d_Root::CurrentGroup(aPresentation)->SetGroupPrimitivesAspect(aMarker);
|
|
Prs3d_Root::CurrentGroup(aPresentation)->MarkerSet(myListVertex);
|
|
}
|
|
else
|
|
{
|
|
Handle(Graphic3d_AspectMarker3d) aMarker = new Graphic3d_AspectMarker3d(myMarkerType,myColor,myIndex);
|
|
aPresentation->SetPrimitivesAspect(aMarker);
|
|
Graphic3d_Vertex aV3d(myXPosition, myYPosition, 0.);
|
|
Prs3d_Root::CurrentGroup(aPresentation)->Marker(aV3d);
|
|
}
|
|
}
|