Model

class HPS::Model : public HPS::Sprocket

The Model class is one of the four core display classes used in a Visualize application. It is meant to be used as part of a display hierarchy along with the Canvas, Layout, and View objects. The parent of the Model is the View. The Model is meant to represent a segment which contains a geometric model. Like the other three core objects, the Model is backed by a HPS::SegmentKey.

Public Functions

void Assign(Model const &in_that)
Animation CreateAnimation(char const *in_name)
void Delete()

Deletes this Model.

bool Equals(Model const &in_that) const
AnimationArray const &GetAnimations()

Get a list of all active Animations (i.e. Animations that have been created and not deleted)

Returns

A list of active Animations.

HPS::Vector GetFrontVector()

Returns an HPS::Vector pointing in the direction of the front of this Model.

HPS::Vector const GetFrontVector() const
SegmentKey GetLibraryKey()

Returns the HPS::LibraryKey associated with this HPS::Model.

SegmentKey const GetLibraryKey() const
UTF8 GetName() const

Get the name used when creating this Model.

HPS::ViewArray GetOwningViews()

Returns an array containing the Views this Model is included in.

HPS::ViewArray const GetOwningViews() const
PortfolioKey GetPortfolioKey()

Returns the HPS::PortfolioKey associated with this Model’s HPS::SegmentKey.

PortfolioKey const GetPortfolioKey() const
SegmentKey GetSegmentKey()

Each of the four display hierarchy objects (HPS::Canvas, HPS::Layout, HPS::View, HPS::Model) are backed by a HPS::SegmentKey. This function returns the HPS::SegmentKey that is associated with this HPS::Model.

SegmentKey const GetSegmentKey() const
HPS::Vector GetUpVector()

Returns an HPS::Vector pointing in the direction of the top of this Model.

HPS::Vector const GetUpVector() const
Model()
Model(Model const &that)
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.

bool operator!=(Model const &in_that) const
Model &operator=(Model const &in_that)
bool operator==(Model const &in_that) const
void SetOrientation(HPS::Vector const &in_up_vector, HPS::Vector const &in_front_vector)

Sets the Model orientation

Parameters
  • in_up_vector – the vector describing the direction of the top of this Model.

  • in_front_vector – the vector pointing in the direction of the front of this Model.

bool ShowOrientation(HPS::Vector &out_up_vector, HPS::Vector &out_front_vector) const

Returns the vectors describing the up and front directions of this Model.

void Update() const

Redraws the Model and all Views it appears in, including all of its child components.

void Update(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const

Redraws the Model and all Views it appears in, including all of its child components using the specified parameters.

Parameters
  • in_type – one of the enum values specified by HPS::Window::UpdateType

  • in_time_limit – the maximum amount of time, in seconds, to spend updating.

UpdateNotifier UpdateWithNotifier() const

Redraws the Model and all Views it appears in, including all of its child components using the default options, and also returns a notifier to facilitate tracking the update progress.

Returns

An UpdateNotifier object used to find out information about the update.

UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const

Redraws the Model and all Views it appears in, including all of its child components using the specified, and also returns a notifier to facilitate tracking the update progress.

Parameters
Returns

HPS::UpdateNotifier to facilitate tracking the update progress.

Returns

An UpdateNotifier object used to find out information about the update.

~Model()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::Model