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

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

#include <sprk.h>

Inheritance diagram for HPS::Layout:
Collaboration diagram for HPS::Layout:

Public Member Functions

 Layout ()
 
 Layout (Layout const &that)
 
 ~Layout ()
 
HPS::Type ObjectType () const
 
void Delete ()
 Deletes this Layout. More...
 
Layoutoperator= (Layout const &in_that)
 
void Assign (Layout const &in_that)
 
bool Equals (Layout const &in_that) const
 
bool operator!= (Layout const &in_that) const
 
bool operator== (Layout const &in_that) const
 
UTF8 GetName () const
 Get the name used when creating this Layout. More...
 
size_t GetLayerCount () const
 Returns the number of Layers currently associated with this Layout. More...
 
void AttachViewFront (View const &in_view, HPS::Rectangle const &in_position=HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f))
 Attached a View to this Layout, and places it to the front of the layer list. More...
 
void AttachViewBack (View const &in_view, HPS::Rectangle const &in_position=HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f))
 Attached a View to this Layout, and places it to the back of the layer list. More...
 
void DetachLayer (size_t in_layer)
 Detaches this Layer from this Layout. More...
 
void DetachView (View const &in_view)
 Detaches this View from this Layout. More...
 
void BringToFront (size_t in_layer)
 Brings a Layer to the front of the list, causing to be drawn on top of the other layers. More...
 
void ReassignLayer (size_t in_layer, HPS::View in_view)
 Reassigns a Layer to a different View. More...
 
void RepositionLayer (size_t in_layer, HPS::Rectangle const &in_position)
 Changes the position of layer with respect to its window. More...
 
View GetFrontView () const
 Returns the View assigned to the layer shown on top of the window. More...
 
View GetAttachedView (size_t in_layer=0) const
 Returns the View assigned to the specified Layer. More...
 
Rectangle GetPosition (size_t in_layer) const
 Returns the position assigned to the specified Layer. More...
 
IncludeKey GetAttachedViewIncludeLink (size_t in_layer) const
 Returns the IncludeKey associated with this Layout. More...
 
SegmentKey GetLayerSegmentKey (size_t in_layer) const
 Returns the backing SegmentKey associated with a given layer. More...
 
size_t GetLayerAt (HPS::WindowPoint const &in_point) const
 Returns the position within the layer list of the top layer at a specified position. More...
 
bool ShowLayerAt (HPS::WindowPoint const &in_point) const
 Returns whether a layer is present at the specified position. 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
 
CanvasArray GetOwningCanvases ()
 Returns an array containing the Canvas this Layout is included in. More...
 
CanvasArray const GetOwningCanvases () const
 
void Update () const
 Redraws the Layout and all Canvases it appears in, including all of its child components. More...
 
UpdateNotifier UpdateWithNotifier () const
 Redraws the Layout and all Canvases 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 Layout and all Canvases 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 Layout and all Canvases 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::Layout
 

Detailed Description

The Layout 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, View, and Model objects. The parent of the Layout is the Canvas, and a Layout can have multiple Views. The Layout is meant to describe the way the Views are presented in the Canvas. Like the other three core objects, the Layout is backed by a HPS::SegmentKey.

Constructor & Destructor Documentation

◆ Layout() [1/2]

HPS::Layout::Layout ( )

◆ Layout() [2/2]

HPS::Layout::Layout ( Layout const &  that)

◆ ~Layout()

HPS::Layout::~Layout ( )

Member Function Documentation

◆ Assign()

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

◆ AttachViewBack()

void HPS::Layout::AttachViewBack ( View const &  in_view,
HPS::Rectangle const &  in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f) 
)

Attached a View to this Layout, and places it to the back of the layer list.

Parameters
in_viewThe View to be attached to this Layer.
in_positionA Rectangle describing the position this View occupies with respect to the window.

◆ AttachViewFront()

void HPS::Layout::AttachViewFront ( View const &  in_view,
HPS::Rectangle const &  in_position = HPS::Rectangle(-1.0f, 1.0f, -1.0f, 1.0f) 
)

Attached a View to this Layout, and places it to the front of the layer list.

Parameters
in_viewThe View to be attached to this Layer.
in_positionA Rectangle describing the position this View occupies with respect to the window.

◆ BringToFront()

void HPS::Layout::BringToFront ( size_t  in_layer)

Brings a Layer to the front of the list, causing to be drawn on top of the other layers.

Parameters
in_layerThe layer to be moved to the front

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

Deletes this Layout.

If the Layout has Views attached, they are not destroyed.

◆ DetachLayer()

void HPS::Layout::DetachLayer ( size_t  in_layer)

Detaches this Layer from this Layout.

Parameters
in_layerThe Layer to detach.

◆ DetachView()

void HPS::Layout::DetachView ( View const &  in_view)

Detaches this View from this Layout.

Parameters
in_viewThe View to detach.

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

◆ GetAttachedView()

View HPS::Layout::GetAttachedView ( size_t  in_layer = 0) const

Returns the View assigned to the specified Layer.

Parameters
in_layerThe Layer of interest.
Returns
The View associated to in_layer.

◆ GetAttachedViewIncludeLink()

IncludeKey HPS::Layout::GetAttachedViewIncludeLink ( size_t  in_layer) const

Returns the IncludeKey associated with this Layout.

The include key links the Layer segment key with the View.

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

◆ GetFrontView()

View HPS::Layout::GetFrontView ( ) const

Returns the View assigned to the layer shown on top of the window.

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

◆ GetLayerAt()

size_t HPS::Layout::GetLayerAt ( HPS::WindowPoint const &  in_point) const

Returns the position within the layer list of the top layer at a specified position.

Parameters
in_pointA point in Window coordinates.
Returns
The position within the layer list of the top layer at position in_point.

◆ GetLayerCount()

size_t HPS::Layout::GetLayerCount ( ) const

Returns the number of Layers currently associated with this Layout.

◆ GetLayerSegmentKey()

SegmentKey HPS::Layout::GetLayerSegmentKey ( size_t  in_layer) const

Returns the backing SegmentKey associated with a given layer.

The owner of this key is the layout segment key.

◆ GetName()

UTF8 HPS::Layout::GetName ( ) const

Get the name used when creating this Layout.

◆ GetOwningCanvases() [1/2]

CanvasArray HPS::Layout::GetOwningCanvases ( )

Returns an array containing the Canvas this Layout is included in.

◆ GetOwningCanvases() [2/2]

CanvasArray const HPS::Layout::GetOwningCanvases ( ) const

◆ GetPosition()

Rectangle HPS::Layout::GetPosition ( size_t  in_layer) const

Returns the position assigned to the specified Layer.

Parameters
in_layerThe layer of interest.
Returns
The position of in_layer.

◆ GetSegmentKey() [1/2]

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

◆ GetSegmentKey() [2/2]

SegmentKey const HPS::Layout::GetSegmentKey ( ) 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::Layout::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

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

◆ operator=()

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

◆ operator==()

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

◆ ReassignLayer()

void HPS::Layout::ReassignLayer ( size_t  in_layer,
HPS::View  in_view 
)

Reassigns a Layer to a different View.

Parameters
in_layerThe layer to be reassigned.
in_viewThe View in_layer will be assigned to.

◆ RepositionLayer()

void HPS::Layout::RepositionLayer ( size_t  in_layer,
HPS::Rectangle const &  in_position 
)

Changes the position of layer with respect to its window.

Parameters
in_layerThe layer to be repositioned.
in_positionThe new position for the layer.

◆ Reset()

◆ ShowLayerAt()

bool HPS::Layout::ShowLayerAt ( HPS::WindowPoint const &  in_point) const

Returns whether a layer is present at the specified position.

Parameters
in_pointA point in Window coordinates.
Returns
true if a layer is present at in_point, false otherwise.

◆ Type()

◆ Update() [1/2]

void HPS::Layout::Update ( ) const

Redraws the Layout and all Canvases it appears in, including all of its child components.

◆ Update() [2/2]

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

Redraws the Layout and all Canvases 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::Layout::UpdateWithNotifier ( ) const

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

Redraws the Layout and all Canvases 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::Layout::staticType = HPS::Type::Layout
static

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