Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Model Class Reference

The Model class is one of the four core display classes used in a Visualize application. More...

#include <sprk.h>

Inheritance diagram for HPS::Model:
Collaboration diagram for HPS::Model:

Public Member Functions

 Model ()
 
 Model (Model const &that)
 
 ~Model ()
 
HPS::Type ObjectType () const
 
void Delete ()
 Deletes this Model. More...
 
Modeloperator= (Model const &in_that)
 
void Assign (Model const &in_that)
 
bool Equals (Model const &in_that) const
 
bool operator!= (Model const &in_that) const
 
bool operator== (Model const &in_that) const
 
UTF8 GetName () const
 Get the name used when creating this Model. More...
 
SegmentKey GetSegmentKey ()
 Each of the four display hierarchy objects (HPS::Canvas, HPS::Layout, HPS::View, HPS::Model) are backed by a HPS::SegmentKey. More...
 
SegmentKey const GetSegmentKey () const
 
SegmentKey GetLibraryKey ()
 Returns the HPS::LibraryKey associated with this HPS::Model. More...
 
SegmentKey const GetLibraryKey () const
 
PortfolioKey GetPortfolioKey ()
 Returns the HPS::PortfolioKey associated with this Model's HPS::SegmentKey. More...
 
PortfolioKey const GetPortfolioKey () const
 
HPS::Vector GetUpVector ()
 Returns an HPS::Vector pointing in the direction of the top of this Model. More...
 
HPS::Vector const GetUpVector () const
 
HPS::Vector GetFrontVector ()
 Returns an HPS::Vector pointing in the direction of the front of this Model. More...
 
HPS::Vector const GetFrontVector () const
 
HPS::ViewArray GetOwningViews ()
 Returns an array containing the Views this Model is included in. More...
 
HPS::ViewArray const GetOwningViews () const
 
void SetOrientation (HPS::Vector &in_up_vector, HPS::Vector &in_front_vector)
 Sets the Model orientation. More...
 
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. More...
 
void Update () const
 Redraws the Model and all Views it appears in, including all of its child components. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ Model() [1/2]

HPS::Model::Model ( )

◆ Model() [2/2]

HPS::Model::Model ( Model const &  that)

◆ ~Model()

HPS::Model::~Model ( )

Member Function Documentation

◆ Assign()

void HPS::Model::Assign ( Model const &  in_that)

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Delete()

void HPS::Model::Delete ( )

Deletes this Model.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ Equals()

bool HPS::Model::Equals ( Model const &  in_that) const

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetFrontVector() [1/2]

HPS::Vector HPS::Model::GetFrontVector ( )

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

◆ GetFrontVector() [2/2]

HPS::Vector const HPS::Model::GetFrontVector ( ) const

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GetLibraryKey() [1/2]

SegmentKey HPS::Model::GetLibraryKey ( )

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

◆ GetLibraryKey() [2/2]

SegmentKey const HPS::Model::GetLibraryKey ( ) const

◆ GetName()

UTF8 HPS::Model::GetName ( ) const

Get the name used when creating this Model.

◆ GetOwningViews() [1/2]

HPS::ViewArray HPS::Model::GetOwningViews ( )

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

◆ GetOwningViews() [2/2]

HPS::ViewArray const HPS::Model::GetOwningViews ( ) const

◆ GetPortfolioKey() [1/2]

PortfolioKey HPS::Model::GetPortfolioKey ( )

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

◆ GetPortfolioKey() [2/2]

PortfolioKey const HPS::Model::GetPortfolioKey ( ) const

◆ GetSegmentKey() [1/2]

SegmentKey HPS::Model::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.

◆ GetSegmentKey() [2/2]

SegmentKey const HPS::Model::GetSegmentKey ( ) const

◆ GetUpVector() [1/2]

HPS::Vector HPS::Model::GetUpVector ( )

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

◆ GetUpVector() [2/2]

HPS::Vector const HPS::Model::GetUpVector ( ) const

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

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

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

bool HPS::Model::operator!= ( Model const &  in_that) const

◆ operator=()

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

◆ operator==()

bool HPS::Model::operator== ( Model const &  in_that) const

◆ Reset()

◆ SetOrientation()

void HPS::Model::SetOrientation ( HPS::Vector in_up_vector,
HPS::Vector in_front_vector 
)

Sets the Model orientation.

Parameters
in_up_vectorthe vector describing the direction of the top of this Model.
in_front_vectorthe vector pointing in the direction of the front of this Model.

◆ ShowOrientation()

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

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

◆ Type()

◆ Update() [1/2]

void HPS::Model::Update ( ) const

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

◆ Update() [2/2]

void HPS::Model::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_typeone of the enum values specified by HPS::Window::UpdateType
in_time_limitthe maximum amount of time, in seconds, to spend updating.

◆ UpdateWithNotifier() [1/2]

UpdateNotifier HPS::Model::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 that can be used to find out information about the update.

◆ UpdateWithNotifier() [2/2]

UpdateNotifier HPS::Model::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.

Returns
HPS::UpdateNotifier to facilitate tracking the update progress.
Parameters
in_typeone of the enum values specified by HPS::Window::UpdateType
in_time_limitthe maximum amount of time, in seconds, to spend updating this HPS::Canvas
Returns
An UpdateNotifier object that can be used to find out information about the update.

Member Data Documentation

◆ staticType

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

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