WSM API v25.0.0 (2025.0.0)
Loading...
Searching...
No Matches
WSM::IGraphicsFactory Class Referenceabstract

Description

IGraphicsFactory is an interface supplied by the application to allow the inference engine to draw inferences in the graphics view.class IGraphicsFactory.

This allows the inference engine to work with any graphics environment.

#include <interfaces.h>

Public Member Functions

 IGraphicsFactory ()
 Constructor.
 
virtual ~IGraphicsFactory ()
 Destructor.
 
virtual std::unique_ptr< WSM::IMarkerCreateMarker (const WSM::Point3d &aPt, const WSM::MaterialProps &mat, double radius, int numSides, bool fill, double rotation, bool radiusIsInches)=0
 CreateMarker create a 3D marker at the given position and given radius and given number of sides.
 
virtual WSM::IPolyLineUPtr CreatePolyline (const std::string &nameForPolyline, const std::vector< WSM::Point3d > &aPoints, const WSM::MaterialProps &mat, bool is3D=true)=0
 Create a IPolyLine.
 
virtual WSM::IPolyLineUPtr CreatePolyline (const std::string &nameForPolyline, const std::vector< WSM::Point2d > &aPoints, const WSM::MaterialProps &mat, bool bScreenSpace)=0
 Create a IPolyLine.
 
virtual WSM::IPolyLineUPtr CreatePolyline (const std::string &nameForPolyline, const std::vector< WSM::Point3d > &aPoints, const std::vector< size_t > &aIndicies, const WSM::MaterialProps &mat, bool is3D=true)=0
 Create a IPolyLine.
 
virtual WSM::IPolygonUPtr CreatePolygon (const std::string &nameForPolygon, const std::vector< WSM::Point3d > &aPoints, const WSM::MaterialProps &mat, bool is3D=true)=0
 Create a IPolygon.
 
virtual WSM::IPolygonUPtr CreatePolygon (const std::string &nameForPolygon, const std::vector< WSM::Point2d > &aPoints, const WSM::MaterialProps &mat, bool bScreenSpace)=0
 Create a IPolygon.
 
virtual WSM::IPolygonUPtr CreatePolygon (const std::string &nameForPolygon, const std::vector< WSM::Point3d > &aPoints, const std::vector< size_t > &aIndicies, const WSM::MaterialProps &mat, bool is3D=true)=0
 Create a IPolygon.
 

Constructor & Destructor Documentation

◆ IGraphicsFactory()

WSM::IGraphicsFactory::IGraphicsFactory ( )
inline

Constructor.

◆ ~IGraphicsFactory()

virtual WSM::IGraphicsFactory::~IGraphicsFactory ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CreateMarker()

virtual std::unique_ptr< WSM::IMarker > WSM::IGraphicsFactory::CreateMarker ( const WSM::Point3d aPt,
const WSM::MaterialProps mat,
double  radius,
int  numSides,
bool  fill,
double  rotation,
bool  radiusIsInches 
)
pure virtual

CreateMarker create a 3D marker at the given position and given radius and given number of sides.

If radiusIsInches is true, the radius is specified in inches. If false radius is specified in normalized screen space

Parameters
[in]aPt
[in]mat
[in]radiusThe given radius
[in]numSides
[in]fill
[in]rotation
[in]radiusIsInches

◆ CreatePolygon() [1/3]

virtual WSM::IPolygonUPtr WSM::IGraphicsFactory::CreatePolygon ( const std::string &  nameForPolygon,
const std::vector< WSM::Point2d > &  aPoints,
const WSM::MaterialProps mat,
bool  bScreenSpace 
)
pure virtual

Create a IPolygon.

nameForPolygon- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polygon mat- The material for drawing the polygon bScreenSpace- (true) Pixels, (false) Normalized screen space

◆ CreatePolygon() [2/3]

virtual WSM::IPolygonUPtr WSM::IGraphicsFactory::CreatePolygon ( const std::string &  nameForPolygon,
const std::vector< WSM::Point3d > &  aPoints,
const std::vector< size_t > &  aIndicies,
const WSM::MaterialProps mat,
bool  is3D = true 
)
pure virtual

Create a IPolygon.

nameForPolygon- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polygon aIndicies- The index list of polygons to draw. 1-2-3, 4-5-6, ... is3D- Flag to indicate if the polygon should be drawn in 3D or 2D in screen pixel space.

◆ CreatePolygon() [3/3]

virtual WSM::IPolygonUPtr WSM::IGraphicsFactory::CreatePolygon ( const std::string &  nameForPolygon,
const std::vector< WSM::Point3d > &  aPoints,
const WSM::MaterialProps mat,
bool  is3D = true 
)
pure virtual

Create a IPolygon.

nameForPolygon- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polygon is3D- Flag to indicate if the polygon should be drawn in 3D or 2D in screen pixel space.

Parameters
[in]nameForPolygon
[in]aPointsThe input list of points
[in]mat
[in]is3D

◆ CreatePolyline() [1/3]

virtual WSM::IPolyLineUPtr WSM::IGraphicsFactory::CreatePolyline ( const std::string &  nameForPolyline,
const std::vector< WSM::Point2d > &  aPoints,
const WSM::MaterialProps mat,
bool  bScreenSpace 
)
pure virtual

Create a IPolyLine.

nameForPolyline- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polyline mat- The material for drawing the polyline bScreenSpace- (true) Pixels, (false) Normalized screen space

◆ CreatePolyline() [2/3]

virtual WSM::IPolyLineUPtr WSM::IGraphicsFactory::CreatePolyline ( const std::string &  nameForPolyline,
const std::vector< WSM::Point3d > &  aPoints,
const std::vector< size_t > &  aIndicies,
const WSM::MaterialProps mat,
bool  is3D = true 
)
pure virtual

Create a IPolyLine.

nameForPolyline- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polyline aIndicies- The index list of line segments to draw- each pair is a new line segment- 1-2, 3-4, 5-6, ... is3D- Flag to indicate if the polyline should be drawn in 3D or 2D in screen pixel space.

◆ CreatePolyline() [3/3]

virtual WSM::IPolyLineUPtr WSM::IGraphicsFactory::CreatePolyline ( const std::string &  nameForPolyline,
const std::vector< WSM::Point3d > &  aPoints,
const WSM::MaterialProps mat,
bool  is3D = true 
)
pure virtual

Create a IPolyLine.

nameForPolyline- Will/can be used to make a unique scenegraph node. aPoints- The Point3ds making up the polyline is3D- Flag to indicate if the polyline should be drawn in 3D or 2D in screen pixel space.

Parameters
[in]nameForPolyline
[in]aPointsThe input list of points
[in]mat
[in]is3D

The documentation for this class was generated from the following file: