Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | List of all members
CDPL::Vis::PolylinePrimitive2D Class Reference

2D graphics primitive representing a set of connected line segments. More...

#include <PolylinePrimitive2D.hpp>

+ Inheritance diagram for CDPL::Vis::PolylinePrimitive2D:

Public Types

typedef std::shared_ptr< PolylinePrimitive2DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated PolylinePrimitive2D instances. More...
 
- Public Types inherited from CDPL::Vis::PointArray2D
typedef std::shared_ptr< PointArray2DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated PointArray2D instances. More...
 
- Public Types inherited from CDPL::Vis::GraphicsPrimitive2D
typedef std::shared_ptr< GraphicsPrimitive2DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated GraphicsPrimitive2D instances. More...
 

Public Member Functions

 PolylinePrimitive2D ()
 Constructs an empty polyline primitive. More...
 
void render (Renderer2D &renderer) const
 Renders the polyline via renderer using the configured pen. More...
 
void setPen (const Pen &pen)
 Sets the pen defining the color, width, line style, join style and cap style of the line segments. More...
 
const PengetPen () const
 Returns the pen defining the color, width, line style, join style and cap style of the line segments. More...
 
GraphicsPrimitive2D::SharedPointer clone () const
 Creates a dynamically allocated copy of this primitive. More...
 
void getBounds (Rectangle2D &bounds, FontMetrics *font_metrics=0) const
 Computes the axis-aligned bounding rectangle of the polyline. More...
 
- Public Member Functions inherited from CDPL::Vis::PointArray2D
void translate (const Math::Vector2D &vec)
 Translates all points by vec. More...
 
void getBounds (Rectangle2D &bounds) const
 Computes the axis-aligned bounding rectangle that contains all stored points. More...
 
- Public Member Functions inherited from CDPL::Vis::GraphicsPrimitive2D
virtual ~GraphicsPrimitive2D ()
 Virtual destructor. More...
 

Detailed Description

2D graphics primitive representing a set of connected line segments.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated PolylinePrimitive2D instances.

Constructor & Destructor Documentation

◆ PolylinePrimitive2D()

CDPL::Vis::PolylinePrimitive2D::PolylinePrimitive2D ( )
inline

Constructs an empty polyline primitive.

Member Function Documentation

◆ render()

void CDPL::Vis::PolylinePrimitive2D::render ( Renderer2D renderer) const
virtual

Renders the polyline via renderer using the configured pen.

Parameters
rendererThe renderer that performs the drawing operations.

Implements CDPL::Vis::GraphicsPrimitive2D.

◆ setPen()

void CDPL::Vis::PolylinePrimitive2D::setPen ( const Pen pen)

Sets the pen defining the color, width, line style, join style and cap style of the line segments.

Parameters
penThe pen defining the color, width, line style, join style and cap style of the line segments.

◆ getPen()

const Pen& CDPL::Vis::PolylinePrimitive2D::getPen ( ) const

Returns the pen defining the color, width, line style, join style and cap style of the line segments.

Returns
The pen defining the color, width, line style, join style and cap style of the line segments.

◆ clone()

GraphicsPrimitive2D::SharedPointer CDPL::Vis::PolylinePrimitive2D::clone ( ) const
virtual

Creates a dynamically allocated copy of this primitive.

Returns
A smart pointer to the copy.

Implements CDPL::Vis::GraphicsPrimitive2D.

◆ getBounds()

void CDPL::Vis::PolylinePrimitive2D::getBounds ( Rectangle2D bounds,
FontMetrics font_metrics = 0 
) const
virtual

Computes the axis-aligned bounding rectangle of the polyline.

Parameters
boundsThe Rectangle2D instance storing the result.
font_metricsUnused for polylines; included to satisfy the GraphicsPrimitive2D interface.

Implements CDPL::Vis::GraphicsPrimitive2D.


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