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::Canvas Class Reference

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

#include <sprk.h>

Inheritance diagram for HPS::Canvas:
Collaboration diagram for HPS::Canvas:

Public Member Functions

 Canvas ()
 
 Canvas (Canvas const &that)
 
 ~Canvas ()
 
HPS::Type ObjectType () const
 
void Delete ()
 Deletes this Canvas, and the Window that backs it. More...
 
Canvasoperator= (Canvas const &in_that)
 
void Assign (Canvas const &in_that)
 
bool Equals (Canvas const &in_that) const
 
bool operator!= (Canvas const &in_that) const
 
bool operator== (Canvas const &in_that) const
 
UTF8 GetName () const
 Get the name used when creating this Canvas. More...
 
void AttachLayout (Layout const &in_layout)
 Attaches a layout to this HPS::Canvas. More...
 
void AttachViewAsLayout (View const &in_view)
 Attaches a View to this HPS::Canvas using an implicit Layout that convers the whole window. More...
 
void DetachLayout ()
 Detaches the Layout from this Canvas. More...
 
Layout GetAttachedLayout () const
 Returns the Layout that is currently attached to this Canvas. More...
 
IncludeKey GetAttachedLayoutIncludeLink () const
 Returns the IncludeKey that attaches the current layout to this Canvas. More...
 
View GetFrontView () const
 Views can overlap. More...
 
WindowKey const GetWindowKey () const
 
WindowKey GetWindowKey ()
 Each of the four display hierarchy objects (HPS::Canvas, HPS::Layout, HPS::View, HPS::Model) are backed by a HPS::SegmentKey. More...
 
PortfolioKey const GetPortfolioKey () const
 
PortfolioKey GetPortfolioKey ()
 Returns the HPS::PortfolioKey associated with this Canvas' SegmentKey. More...
 
void Update () const
 Redraws the entire Canvas, including all of its child components using the default options. More...
 
UpdateNotifier UpdateWithNotifier () const
 Redraws the entire Canvas, 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 entire Canvas, 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 entire Canvas, including all of its child components using the specified parameters, and also returns an. More...
 
void SetFrameRate (float in_frame_rate=20)
 Sets the minimum frame rate for this HPS::Canvas in number of frames per second. More...
 
float GetFrameRate () const
 Returns true if frame rate is active for this HPS::Canvas. 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::Canvas
 

Detailed Description

The Canvas 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 Layout, View, and Model objects. The Canvas is the top-level object of the hierarchy and roughly correlates to a window. The Canvas is backed by an HPS::WindowKey.

Constructor & Destructor Documentation

◆ Canvas() [1/2]

HPS::Canvas::Canvas ( )

◆ Canvas() [2/2]

HPS::Canvas::Canvas ( Canvas const &  that)

◆ ~Canvas()

HPS::Canvas::~Canvas ( )

Member Function Documentation

◆ Assign()

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

◆ AttachLayout()

void HPS::Canvas::AttachLayout ( Layout const &  in_layout)

Attaches a layout to this HPS::Canvas.

There can only be one layout per HPS::Canvas. If a Layout is already attached to this Canvas, the new Layout will replace the old one.

Parameters
in_layoutthe Layout to attach to this HPS::Canvas.

◆ AttachViewAsLayout()

void HPS::Canvas::AttachViewAsLayout ( View const &  in_view)

Attaches a View to this HPS::Canvas using an implicit Layout that convers the whole window.

If a Layout is already attached to this Canvas, the new Layout will replace the old one.

Parameters
in_viewthe View to attach to this HPS::Canvas.

◆ 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::Canvas::Delete ( )

Deletes this Canvas, and the Window that backs it.

If the Canvas has Layouts attached, they are not destroyed.

◆ DetachLayout()

void HPS::Canvas::DetachLayout ( )

Detaches the Layout from this Canvas.

◆ 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::Canvas::Equals ( Canvas const &  in_that) const

◆ GetAttachedLayout()

Layout HPS::Canvas::GetAttachedLayout ( ) const

Returns the Layout that is currently attached to this Canvas.

◆ GetAttachedLayoutIncludeLink()

IncludeKey HPS::Canvas::GetAttachedLayoutIncludeLink ( ) const

Returns the IncludeKey that attaches the current layout to this Canvas.

◆ 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.

◆ GetFrameRate()

float HPS::Canvas::GetFrameRate ( ) const

Returns true if frame rate is active for this HPS::Canvas.

Returns
Returns frame rate in number of frames per second.

◆ GetFrontView()

View HPS::Canvas::GetFrontView ( ) const

Views can overlap.

This function returns a reference to the frontmost View.

◆ 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.

◆ GetName()

UTF8 HPS::Canvas::GetName ( ) const

Get the name used when creating this Canvas.

◆ GetPortfolioKey() [1/2]

PortfolioKey const HPS::Canvas::GetPortfolioKey ( ) const

◆ GetPortfolioKey() [2/2]

PortfolioKey HPS::Canvas::GetPortfolioKey ( )

Returns the HPS::PortfolioKey associated with this Canvas' SegmentKey.

◆ GetWindowKey() [1/2]

WindowKey const HPS::Canvas::GetWindowKey ( ) const

◆ GetWindowKey() [2/2]

WindowKey HPS::Canvas::GetWindowKey ( )

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 Canvas.

◆ 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::Canvas::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

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

◆ operator=()

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

◆ operator==()

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

◆ Reset()

◆ SetFrameRate()

void HPS::Canvas::SetFrameRate ( float  in_frame_rate = 20)

Sets the minimum frame rate for this HPS::Canvas in number of frames per second.

Parameters
in_frame_rateFrame rate in number of frames per second. Pass 0 to disable frame rate.

◆ Type()

◆ Update() [1/2]

void HPS::Canvas::Update ( ) const

Redraws the entire Canvas, including all of its child components using the default options.

◆ Update() [2/2]

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

Redraws the entire Canvas, 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 this HPS::Canvas

◆ UpdateWithNotifier() [1/2]

UpdateNotifier HPS::Canvas::UpdateWithNotifier ( ) const

Redraws the entire Canvas, 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::Canvas::UpdateWithNotifier ( HPS::Window::UpdateType  in_type,
HPS::Time  in_time_limit = -1.0 
) const

Redraws the entire Canvas, including all of its child components using the specified parameters, and also returns an.

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::Canvas::staticType = HPS::Type::Canvas
static

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