HPS::ShapeDefinition Class Reference

#include <hps.h>

Inheritance diagram for HPS::ShapeDefinition:
HPS::Definition HPS::Object

Public Member Functions

HPS::Type ObjectType () const
 
ShapeDefinitionoperator= (ShapeDefinition const &in_that)
 
ShapeDefinitionoperator= (ShapeDefinition &&in_that)
 
void Set (ShapeKit const &in_kit)
 
 ShapeDefinition ()
 
 ShapeDefinition (Definition const &in_that)
 
 ShapeDefinition (ShapeDefinition const &in_that)
 
 ShapeDefinition (ShapeDefinition &&in_that)
 
void Show (ShapeKit &out_kit) const
 
- Public Member Functions inherited from HPS::Definition
virtual void Assign (Definition const &in_that)
 
 Definition ()
 
 Definition (Definition const &in_that)
 
 Definition (Definition &&in_that)
 
bool Equals (Definition const &in_that) const
 
UTF8 Name () const
 
bool operator!= (Definition const &in_that) const
 
Definitionoperator= (Definition const &in_that)
 
Definitionoperator= (Definition &&in_that)
 
bool operator== (Definition const &in_that) const
 
PortfolioKey Owner () const
 
void Undefine ()
 
- 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::ShapeDefinition
 
- Static Public Attributes inherited from HPS::Definition
static const HPS::Type staticType = HPS::Type::Definition
 
- 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 ShapeDefinition class is a smart pointer to a database object. It is a handle to a shape defined within a portfolio.

Constructor & Destructor Documentation

◆ ShapeDefinition() [1/4]

HPS::ShapeDefinition::ShapeDefinition ( )

The default constructor creates an uninitialized ShapeDefinition object. The Type() function will return Type::None.

◆ ShapeDefinition() [2/4]

HPS::ShapeDefinition::ShapeDefinition ( Definition const &  in_that)

This constructor creates a ShapeDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a shader definition. Otherwise the copy will fail and the resulting ShapeDefinition will be invalid.

Parameters
in_thatThe source Definition to copy.

◆ ShapeDefinition() [3/4]

HPS::ShapeDefinition::ShapeDefinition ( ShapeDefinition const &  in_that)

The copy constructor creates a ShapeDefinition object that shares the underlying smart-pointer of the source ShapeDefinition.

Parameters
in_thatThe source ShapeDefinition to copy.

◆ ShapeDefinition() [4/4]

HPS::ShapeDefinition::ShapeDefinition ( ShapeDefinition &&  in_that)

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

Parameters
in_thatAn rvalue reference to a ShapeDefinition to take the impl from.

Member Function Documentation

◆ ObjectType()

HPS::Type HPS::ShapeDefinition::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::Definition.

◆ operator=() [1/2]

ShapeDefinition& HPS::ShapeDefinition::operator= ( ShapeDefinition const &  in_that)

Associate this ShapeDefinition with the same underlying impl as the source ShapeDefinition.

Parameters
in_thatThe source ShapeDefinition for the assignment.
Returns
A reference to this ShapeDefinition.

◆ operator=() [2/2]

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

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

Parameters
in_thatAn rvalue reference to a ShapeDefinition to take the impl from.
Returns
A reference to this ShapeDefinition.

◆ Set()

void HPS::ShapeDefinition::Set ( ShapeKit const &  in_kit)

Redefine the shape for this ShapeDefinition.

Parameters
in_kitThe new shader for this ShapeDefinition.

◆ Show()

void HPS::ShapeDefinition::Show ( ShapeKit out_kit) const

Shows the shape for this ShapeDefinition.

Parameters
out_kitThe shape for this ShapeDefinition.

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