ShapeDefinition

class HPS::ShapeDefinition : public HPS::Definition

The ShapeDefinition class is a smart pointer to a database object. It is a handle to a shape defined within a portfolio.

Public Functions

inline virtual HPS::Type ObjectType() const

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.

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_that – An rvalue reference to a ShapeDefinition to take the impl from.

Returns

A reference to this ShapeDefinition.

ShapeDefinition &operator=(ShapeDefinition const &in_that)

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

Parameters

in_that – The source ShapeDefinition for the assignment.

Returns

A reference to this ShapeDefinition.

void Set(ShapeKit const &in_kit)

Redefine the shape for this ShapeDefinition.

Parameters

in_kit – The new shader for this ShapeDefinition.

ShapeDefinition()

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

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_that – The source Definition to copy.

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_that – An rvalue reference to a ShapeDefinition to take the impl from.

ShapeDefinition(ShapeDefinition const &in_that)

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

Parameters

in_that – The source ShapeDefinition to copy.

void Show(ShapeKit &out_kit) const

Shows the shape for this ShapeDefinition.

Parameters

out_kit – The shape for this ShapeDefinition.

~ShapeDefinition()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::ShapeDefinition