HPS::InfiniteLineGlyphElement Class Reference

#include <hps.h>

Inheritance diagram for HPS::InfiniteLineGlyphElement:
HPS::GlyphElement HPS::Object

Public Member Functions

 InfiniteLineGlyphElement ()
 
 InfiniteLineGlyphElement (GlyphElement const &in_that)
 
 InfiniteLineGlyphElement (InfiniteLineGlyphElement const &in_that)
 
 InfiniteLineGlyphElement (GlyphPoint const &in_first, GlyphPoint const &in_second, InfiniteLine::Type in_type=InfiniteLine::Type::Line)
 
 InfiniteLineGlyphElement (InfiniteLineGlyphElement &&in_that)
 
HPS::Type ObjectType () const
 
InfiniteLineGlyphElementoperator= (InfiniteLineGlyphElement &&in_that)
 
void SetFirstPoint (GlyphPoint const &in_point)
 
void SetInfiniteType (InfiniteLine::Type in_type)
 
void SetPoints (GlyphPoint const &in_first, GlyphPoint const &in_second)
 
void SetSecondPoint (GlyphPoint const &in_point)
 
bool ShowFirstPoint (GlyphPoint &out_point) const
 
bool ShowInfiniteType (InfiniteLine::Type &out_type) const
 
bool ShowSecondPoint (GlyphPoint &out_point) const
 
- Public Member Functions inherited from HPS::GlyphElement
bool Equals (GlyphElement const &in_that) const
 
 GlyphElement ()
 
 GlyphElement (GlyphElement const &in_that)
 
 GlyphElement (GlyphElement &&in_that)
 
bool operator!= (GlyphElement const &in_that) const
 
GlyphElementoperator= (GlyphElement &&in_that)
 
GlyphElementoperator= (GlyphElement const &in_that)
 
bool operator== (GlyphElement const &in_that) const
 
void Set (GlyphElement const &in_that)
 
void SetExplicitColor (RGBAColor const &in_color)
 
void SetFill (Glyph::Fill in_fill)
 
void SetIndexedColor (byte in_index)
 
void SetNormalColor ()
 
bool ShowColor (Glyph::ColorSource &out_source, byte &out_index, RGBAColor &out_color) const
 
bool ShowFill (Glyph::Fill &out_fill) const
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::InfiniteLineGlyphElement
 
- Static Public Attributes inherited from HPS::GlyphElement
static const HPS::Type staticType = HPS::Type::GlyphElement
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The InfiniteLineGlyphElement class is a user space object. It is used to add infinite line and ray elements to a glyph.

Constructor & Destructor Documentation

◆ InfiniteLineGlyphElement() [1/5]

HPS::InfiniteLineGlyphElement::InfiniteLineGlyphElement ( )

The default constructor creates an empty InfiniteLineGlyphElement object.

◆ InfiniteLineGlyphElement() [2/5]

HPS::InfiniteLineGlyphElement::InfiniteLineGlyphElement ( GlyphElement const &  in_that)

This constructor creates a InfiniteLineGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of an infinite line glyph element. Otherwise the copy will fail and the resulting InfiniteLineGlyphElement will be invalid.

Parameters
in_thatThe source GlyphElement to copy.

◆ InfiniteLineGlyphElement() [3/5]

HPS::InfiniteLineGlyphElement::InfiniteLineGlyphElement ( InfiniteLineGlyphElement const &  in_that)

The copy constructor creates a new InfiniteLineGlyphElement object that contains the same settings as the source InfiniteLineGlyphElement.

Parameters
in_thatThe source InfiniteLineGlyphElement to copy.

◆ InfiniteLineGlyphElement() [4/5]

HPS::InfiniteLineGlyphElement::InfiniteLineGlyphElement ( GlyphPoint const &  in_first,
GlyphPoint const &  in_second,
InfiniteLine::Type  in_type = InfiniteLine::Type::Line 
)

This constructor creates a InfiniteLineGlyphElement with the specified vector and type.

Parameters
in_firstThe first point along the InfiniteLineGlyphElement
in_secondThe second point along the InfiniteLineGlyphElement
in_typeThe type of infinite line - either Ray or Line

◆ InfiniteLineGlyphElement() [5/5]

HPS::InfiniteLineGlyphElement::InfiniteLineGlyphElement ( InfiniteLineGlyphElement &&  in_that)

The move constructor creates an InfiniteLineGlyphElement by transferring the underlying impl of the rvalue reference to this InfiniteLineGlyphElement thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an InfiniteLineGlyphElement to take the impl from.

Member Function Documentation

◆ ObjectType()

HPS::Type HPS::InfiniteLineGlyphElement::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::GlyphElement.

◆ operator=()

InfiniteLineGlyphElement& HPS::InfiniteLineGlyphElement::operator= ( InfiniteLineGlyphElement &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this InfiniteLineGlyphElement thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an InfiniteLineGlyphElement to take the impl from.
Returns
A reference to this InfiniteLineGlyphElement.

◆ SetFirstPoint()

void HPS::InfiniteLineGlyphElement::SetFirstPoint ( GlyphPoint const &  in_point)

Sets the first point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Parameters
in_pointThe first point for the vector defining the infinite line or ray.

◆ SetInfiniteType()

void HPS::InfiniteLineGlyphElement::SetInfiniteType ( InfiniteLine::Type  in_type)

Sets the type of this InfiniteLineGlyphElement, i.e., whether it represents an infinite line or ray.

Parameters
in_typeThe type of this InfiniteLineGlyphElement.

◆ SetPoints()

void HPS::InfiniteLineGlyphElement::SetPoints ( GlyphPoint const &  in_first,
GlyphPoint const &  in_second 
)

Sets the points for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Parameters
in_firstThe first point for the vector defining the infinite line or ray.
in_secondThe second point for the vector defining the infinite line or ray.

◆ SetSecondPoint()

void HPS::InfiniteLineGlyphElement::SetSecondPoint ( GlyphPoint const &  in_point)

Sets the second point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Parameters
in_pointThe second point for the vector defining the infinite line or ray.

◆ ShowFirstPoint()

bool HPS::InfiniteLineGlyphElement::ShowFirstPoint ( GlyphPoint out_point) const

Shows the first point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Parameters
out_pointThe first point for the vector defining the infinite line or ray.
Returns
true if a first point was set, false otherwise.

◆ ShowInfiniteType()

bool HPS::InfiniteLineGlyphElement::ShowInfiniteType ( InfiniteLine::Type out_type) const

Shows the type of this InfiniteLineGlyphElement.

Parameters
out_typeThe type of this InfiniteLineGlyphElement.
Returns
true if a type was set, false otherwise.

◆ ShowSecondPoint()

bool HPS::InfiniteLineGlyphElement::ShowSecondPoint ( GlyphPoint out_point) const

Shows the second point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Parameters
out_pointThe second point for the vector defining the infinite line or ray.
Returns
true if a second point was set, false otherwise.

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