ShapeDefinition

class 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