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

The SceneTree class is a smart pointer which corresponds to a tree object in a GUI toolkit, e.g., a TreeView in WPF or a CTreeCtrl in MFC. More...

#include <sprk.h>

Inheritance diagram for HPS::SceneTree:
Collaboration diagram for HPS::SceneTree:

Public Types

enum  ItemType : uint32_t {
  ItemType::None = 0x00000000,
  ItemType::GenericMask = 0xffff0000,
  ItemType::Segment = 0x00000001,
  ItemType::Include = 0x00000002,
  ItemType::ConditionalExpression = 0x00000003,
  ItemType::StaticModelSegment = 0x00000004,
  ItemType::AttributeFilter = 0x00000005,
  ItemType::Geometry = 0x00010000,
  ItemType::CuttingSection = 0x00010001,
  ItemType::Shell = 0x00010002,
  ItemType::Mesh = 0x00010003,
  ItemType::Grid = 0x00010004,
  ItemType::NURBSSurface = 0x00010005,
  ItemType::Cylinder = 0x00010006,
  ItemType::Sphere = 0x00010007,
  ItemType::Polygon = 0x00010008,
  ItemType::Circle = 0x00010009,
  ItemType::CircularWedge = 0x0001000a,
  ItemType::Ellipse = 0x0001000b,
  ItemType::Line = 0x0001000c,
  ItemType::NURBSCurve = 0x0001000d,
  ItemType::CircularArc = 0x0001000e,
  ItemType::EllipticalArc = 0x0001000f,
  ItemType::InfiniteLine = 0x00010010,
  ItemType::InfiniteRay = 0x00010011,
  ItemType::Marker = 0x00010012,
  ItemType::Text = 0x00010013,
  ItemType::Reference = 0x00010014,
  ItemType::DistantLight = 0x00010015,
  ItemType::Spotlight = 0x00010016,
  ItemType::Attribute = 0x00020000,
  ItemType::Portfolio = 0x00020001,
  ItemType::SegmentStyle = 0x00020002,
  ItemType::NamedStyle = 0x00020003,
  ItemType::MaterialPalette = 0x00020004,
  ItemType::Priority = 0x00020005,
  ItemType::Material = 0x00020006,
  ItemType::Camera = 0x00020007,
  ItemType::ModellingMatrix = 0x00020008,
  ItemType::UserData = 0x00020009,
  ItemType::TextureMatrix = 0x0002000a,
  ItemType::Culling = 0x0002000b,
  ItemType::CurveAttribute = 0x0002000c,
  ItemType::CylinderAttribute = 0x0002000d,
  ItemType::EdgeAttribute = 0x0002000e,
  ItemType::LightingAttribute = 0x0002000f,
  ItemType::LineAttribute = 0x00020010,
  ItemType::MarkerAttribute = 0x00020011,
  ItemType::SurfaceAttribute = 0x00020012,
  ItemType::Selectability = 0x00020013,
  ItemType::SphereAttribute = 0x00020014,
  ItemType::Subwindow = 0x00020015,
  ItemType::TextAttribute = 0x00020016,
  ItemType::Transparency = 0x00020017,
  ItemType::Visibility = 0x00020018,
  ItemType::VisualEffects = 0x00020019,
  ItemType::Performance = 0x00020020,
  ItemType::DrawingAttribute = 0x00020021,
  ItemType::HiddenLineAttribute = 0x00020022,
  ItemType::ContourLine = 0x00020023,
  ItemType::Condition = 0x00020024,
  ItemType::Bounding = 0x00020025,
  ItemType::AttributeLock = 0x00020026,
  ItemType::TransformMask = 0x00020027,
  ItemType::ColorInterpolation = 0x00020028,
  ItemType::CuttingSectionAttribute = 0x00020029,
  ItemType::Debugging = 0x00020030,
  ItemType::PostProcessEffects = 0x00020031,
  ItemType::SelectionOptions = 0x00020032,
  ItemType::UpdateOptions = 0x00020033,
  ItemType::Definition = 0x00040000,
  ItemType::NamedStyleDefinition = 0x00040001,
  ItemType::TextureDefinition = 0x00040002,
  ItemType::LinePatternDefinition = 0x00040003,
  ItemType::GlyphDefinition = 0x00040004,
  ItemType::CubeMapDefinition = 0x00040005,
  ItemType::ImageDefinition = 0x00040006,
  ItemType::MaterialPaletteDefinition = 0x00040007,
  ItemType::ShaderDefinition = 0x00040008,
  ItemType::ShapeDefinition = 0x00040009,
  ItemType::Group = 0x00080000,
  ItemType::SegmentGroup = 0x00080100,
  ItemType::GeometryGroup = 0x00080200,
  ItemType::AttributeGroup = 0x00080300,
  ItemType::PortfolioGroup = 0x00080400,
  ItemType::StyleGroup = 0x00080500,
  ItemType::IncludeGroup = 0x00080600,
  ItemType::DefinitionGroup = 0x00180000,
  ItemType::NamedStyleDefinitionGroup = 0x00180700,
  ItemType::TextureDefinitionGroup = 0x00180800,
  ItemType::LinePatternDefinitionGroup = 0x00180900,
  ItemType::GlyphDefinitionGroup = 0x00180a00,
  ItemType::CubeMapDefinitionGroup = 0x00180b00,
  ItemType::ImageDefinitionGroup = 0x00180c00,
  ItemType::MaterialPaletteDefinitionGroup = 0x00180d00,
  ItemType::ShaderDefinitionGroup = 0x00180e00,
  ItemType::ShapeDefinitionGroup = 0x00180f00,
  ItemType::GeometryGroupMask = 0x00280000,
  ItemType::CuttingSectionGroup = 0x00280001,
  ItemType::ShellGroup = 0x00280002,
  ItemType::MeshGroup = 0x00280003,
  ItemType::GridGroup = 0x00280004,
  ItemType::NURBSSurfaceGroup = 0x00280005,
  ItemType::CylinderGroup = 0x00280006,
  ItemType::SphereGroup = 0x00280007,
  ItemType::PolygonGroup = 0x00280008,
  ItemType::CircleGroup = 0x00280009,
  ItemType::CircularWedgeGroup = 0x0028000a,
  ItemType::EllipseGroup = 0x0028000b,
  ItemType::LineGroup = 0x0028000c,
  ItemType::NURBSCurveGroup = 0x0028000d,
  ItemType::CircularArcGroup = 0x0028000e,
  ItemType::EllipticalArcGroup = 0x0028000f,
  ItemType::InfiniteLineGroup = 0x00280010,
  ItemType::InfiniteRayGroup = 0x00280011,
  ItemType::MarkerGroup = 0x00280012,
  ItemType::TextGroup = 0x00280013,
  ItemType::ReferenceGroup = 0x00280014,
  ItemType::DistantLightGroup = 0x00280015,
  ItemType::SpotlightGroup = 0x00280016
}
 Enumerates the types of items that can be contained in a SceneTree. More...
 

Public Member Functions

 SceneTree ()
 The default constructor creates an uninitialized SceneTree object. More...
 
 SceneTree (Canvas const &in_canvas)
 This constructor creates a SceneTree object associated with a Canvas. More...
 
 SceneTree (SceneTree const &in_that)
 The copy constructor creates a SceneTree object that shares the underlying smart-pointer of the source SceneTree. More...
 
 SceneTree (SceneTree &&in_that)
 The move constructor creates a SceneTree by transferring the underlying object of the rvalue reference to this SceneTree. More...
 
virtual ~SceneTree ()
 
virtual HPS::Type ObjectType () const
 
SceneTreeoperator= (SceneTree const &in_that)
 Share the underlying smart-pointer of the SceneTree source. More...
 
SceneTreeoperator= (SceneTree &&in_that)
 The move assignment operator transfers the underlying object of the rvalue reference to this SceneTree. More...
 
virtual void Assign (SceneTree const &in_that)
 Share the underlying smart-pointer of the SceneTree source. More...
 
bool Equals (SceneTree const &in_that) const
 Check if the source SceneTree points to the same underlying impl as this SceneTree. More...
 
bool operator!= (SceneTree const &in_that) const
 Check if the source SceneTree points to a different impl than this SceneTree. More...
 
bool operator== (SceneTree const &in_that) const
 Check if the source SceneTree points to the same underlying impl as this SceneTree. More...
 
void SetHighlightOptions (HighlightOptionsKit const &in_options)
 Sets the highlight options that will be used by this SceneTree. More...
 
void SetHighlightOptions (HighlightOptionsKitArray const &in_options)
 Sets the highlight options that will be used by this SceneTree. More...
 
void SetHighlightOptions (size_t in_count, HighlightOptionsKit const in_options [])
 Sets the highlight options that will be used by this SceneTree. More...
 
void AddHighlightOptions (HighlightOptionsKit const &in_options)
 Appends one highlight options that will be used by this SceneTree. More...
 
HighlightOptionsKitArray GetHighlightOptions () const
 Gets the highlight options that will be used by this SceneTree. More...
 
void SetGroupingLimit (size_t in_limit)
 Sets the grouping limit for this SceneTree. More...
 
size_t GetGroupingLimit () const
 Gets the grouping limit for this SceneTree. More...
 
void SetRoot (SceneTreeItemPtr const &in_root)
 Sets the root SceneTreeItem for this SceneTree. More...
 
SceneTreeItemPtr GetRoot () const
 Gets the root SceneTreeItem for this SceneTree. More...
 
virtual void Flush ()
 Resets the root SceneTreeItem for this SceneTree. More...
 
void SetHighlightEventHandling (bool in_state)
 Whether the SceneTree should handle highlighting events. More...
 
bool GetHighlightEventHandling () const
 Whether this SceneTree is currently handling highlight events This include expanding the tree to the highlighted SceneTreeItem, and making the text for the highlighted SceneTreeItem bold. More...
 
void ReExpand ()
 Collapses the root SceneTreeItem for this SceneTree and then re-expands the tree. 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::SceneTree
 

Detailed Description

The SceneTree class is a smart pointer which corresponds to a tree object in a GUI toolkit, e.g., a TreeView in WPF or a CTreeCtrl in MFC.

This class can be derived from to facilitate tree creation in the various GUI toolkits. It is used to create a scene graph or segment browser.

Member Enumeration Documentation

◆ ItemType

enum HPS::SceneTree::ItemType : uint32_t
strong

Enumerates the types of items that can be contained in a SceneTree.

Enumerator
None 

No type.

GenericMask 

Mask for the grouping bits in the enum.

Segment 

Item is a SegmentKey, or some object derived from a SegmentKey.

Include 

Item is an IncludeKey.

ConditionalExpression 

Item is a logical conditional expression.

This is the condition associated with a conditional include, reference or style.

StaticModelSegment 

Item is a SegmentKey which corresponds to the shadow tree for the static model.

AttributeFilter 

Item is an attribute filter on an include or style.

Geometry 

Mask for geometry items.

CuttingSection 

Item is a CuttingSectionKey.

Shell 

Item is a ShellKey.

Mesh 

Item is a MeshKey.

Grid 

Item is a GridKey.

NURBSSurface 

Item is a NURBSSurfaceKey.

Cylinder 

Item is a CylinderKey.

Sphere 

Item is a SphereKey.

Polygon 

Item is a PolygonKey.

Circle 

Item is a CircleKey.

CircularWedge 

Item is a CircularWedgeKey.

Ellipse 

Item is an EllipseKey.

Line 

Item is a LineKey.

NURBSCurve 

Item is a NURBSCurveKey.

CircularArc 

Item is a CircularArcKey.

EllipticalArc 

Item is an EllipticalArcKey.

InfiniteLine 

Item is an InfiniteLineKey of type InfiniteLine::Type::Line.

InfiniteRay 

Item is an InfiniteLineKey of type InfiniteLine::Type::Ray.

Marker 

Item is a MarkerKey.

Text 

Item is a TextKey.

Reference 

Item is a ReferenceKey.

DistantLight 

Item is a DistantLightKey.

Spotlight 

Item is a SpotlightKey.

Attribute 

Mask for attribute items.

Portfolio 

Item is a PortfolioKey that has been pushed onto a SegmentKey.

SegmentStyle 

Item is a StyleKey for a SegmentKey that was styled onto a SegmentKey.

NamedStyle 

Item is a StyleKey for a name of a NamedStyleDefinition that was styled onto a SegmentKey.

MaterialPalette 

Item is a MaterialPalette on a SegementKey.

Priority 

Item is a Priority on a SegmentKey.

Material 

Item is a MaterialMappingKit on a SegmentKey.

Camera 

Item is a CameraKit on a SegmentKey.

ModellingMatrix 

Item is a modelling matrix on a SegmentKey.

UserData 

Item is user data on a SegmentKey.

TextureMatrix 

Item is a texture matrix on a SegmentKey.

Culling 

Item is a CullingKit on a SegmentKey.

CurveAttribute 

Item is a CurveAttributeKit on a SegmentKey.

CylinderAttribute 

Item is a CylinderAttributeKit on a SegmentKey.

EdgeAttribute 

Item is an EdgeAttributeKit on a SegmentKey.

LightingAttribute 

Item is a LightingAttributeKit on a SegmentKey.

LineAttribute 

Item is a LineAttributeKit on a SegmentKey.

MarkerAttribute 

Item is a MarkerAttributeKit on a SegmentKey.

SurfaceAttribute 

Item is a SurfaceAttributeKit on a SegmentKey.

Selectability 

Item is a SelectabilityKit on a SegmentKey.

SphereAttribute 

Item is a SphereAttributeKit on a SegmentKey.

Subwindow 

Item is a SubwindowKit on a SegmentKey.

TextAttribute 

Item is a TextAttributeKit on a SegmentKey.

Transparency 

Item is a TransparencyKit on a SegmentKey.

Visibility 

Item is a VisibilityKit on a SegmentKey.

VisualEffects 

Item is a VisualEffectsKit on a SegmentKey.

Performance 

Item is a PerformanceKit on a SegmentKey.

DrawingAttribute 

Item is a DrawingAttributeKit on a SegmentKey.

HiddenLineAttribute 

Item is a HiddenLineAttributeKit on a SegmentKey.

ContourLine 

Item is a ContourLineKit on a SegmentKey.

Condition 

Item is a Condition on a SegmentKey.

Bounding 

Item is a BoundingKit on a SegmentKey.

AttributeLock 

Item is a AttributeLockKit on a SegmentKey.

TransformMask 

Item is a TransformMaskKit on a SegmentKey.

ColorInterpolation 

Item is a ColorInterpolationKit on a SegmentKey.

CuttingSectionAttribute 

Item is a CuttingSectionAttributeKit on a SegmentKey.

Debugging 

Item is a DebuggingKit on a WindowKey.

PostProcessEffects 

Item is a PostProcessEffectsKit on a WindowKey.

SelectionOptions 

Item is a SelectionOptionsKit on a WindowKey.

UpdateOptions 

Item is an UpdateOptionsKit on a WindowKey.

Definition 

Mask for definition items.

NamedStyleDefinition 

Item is a NamedStyleDefintion in a PortfolioKey.

TextureDefinition 

Item is a TextureDefinition in a PortfolioKey.

LinePatternDefinition 

Item is a LinePatternDefinition in a PortfolioKey.

GlyphDefinition 

Item is a GlyphDefinition in a PortfolioKey.

CubeMapDefinition 

Item is a CubeMapDefinition in a PortfolioKey.

ImageDefinition 

Item is a ImageDefinition in a PortfolioKey.

MaterialPaletteDefinition 

Item is a MaterialPaletteDefinition in a PortfolioKey.

ShaderDefinition 

Item is a ShaderDefinition in a PortfolioKey.

ShapeDefinition 

Item is a ShapeDefinition in a PortfolioKey.

Group 

Mask for group items.

SegmentGroup 

Item is a collection of SegmentKey objects.

GeometryGroup 

Item is a collection of specific geometry type groups.

AttributeGroup 

Item is a collection of attributes.

PortfolioGroup 

Item is a collection of PortfolioKey objects.

StyleGroup 

Item is a collection of StyleKey objects.

IncludeGroup 

Item is a collection of IncludeKey objects.

DefinitionGroup 

Mask for definition group items.

NamedStyleDefinitionGroup 

Item is a collection of NamedStyleDefinition objects.

TextureDefinitionGroup 

Item is a collection of TextureDefinition objects.

LinePatternDefinitionGroup 

Item is a collection of LinePatternDefinition objects.

GlyphDefinitionGroup 

Item is a collection of GlyphDefinition objects.

CubeMapDefinitionGroup 

Item is a collection of CubeMapDefinition objects.

ImageDefinitionGroup 

Item is a collection of ImageDefinition objects.

MaterialPaletteDefinitionGroup 

Item is a collection of MaterialPaletteDefinition objects.

ShaderDefinitionGroup 

Item is a collection of ShaderDefinition objects.

ShapeDefinitionGroup 

Item is a collection of ShapeDefinition objects.

GeometryGroupMask 

Mask for groups that contain geometry.

CuttingSectionGroup 

Item is a collection of CuttingSectionKey objects.

ShellGroup 

Item is a collection of ShellKey objects.

MeshGroup 

Item is a collection of MeshKey objects.

GridGroup 

Item is a collection of GridKey objects.

NURBSSurfaceGroup 

Item is a collection of NURBSSurfaceKey objects.

CylinderGroup 

Item is a collection of CylinderKey objects.

SphereGroup 

Item is a collection of SphereKey objects.

PolygonGroup 

Item is a collection of PolygonKey objects.

CircleGroup 

Item is a collection of CircleKey objects.

CircularWedgeGroup 

Item is a collection of CircularWedgeKey objects.

EllipseGroup 

Item is a collection of EllipseKey objects.

LineGroup 

Item is a collection of LineKey objects.

NURBSCurveGroup 

Item is a collection of NURBSCurveKey objects.

CircularArcGroup 

Item is a collection of CircularArcKey objects.

EllipticalArcGroup 

Item is a collection of EllipticalArcKey objects.

InfiniteLineGroup 

Item is a collection of InfiniteLineKey (of type InfiniteLine::Type::Line) objects.

InfiniteRayGroup 

Item is a collection of InfiniteLineKey (of type InfiniteLine::Type::Ray) objects.

MarkerGroup 

Item is a collection of MarkerKey objects.

TextGroup 

Item is a collection of TextKey objects.

ReferenceGroup 

Item is a collection of ReferenceKey objects.

DistantLightGroup 

Item is a collection of DistantLightKey objects.

SpotlightGroup 

Item is a collection of SpotlightKey objects.

Constructor & Destructor Documentation

◆ SceneTree() [1/4]

HPS::SceneTree::SceneTree ( )

The default constructor creates an uninitialized SceneTree object.

The Type() function will return Type::None.

◆ SceneTree() [2/4]

HPS::SceneTree::SceneTree ( Canvas const &  in_canvas)

This constructor creates a SceneTree object associated with a Canvas.

This constructor should be used to create a new SceneTree object.

Parameters
in_canvasThe Canvas to associate this SceneTree with.

◆ SceneTree() [3/4]

HPS::SceneTree::SceneTree ( SceneTree const &  in_that)

The copy constructor creates a SceneTree object that shares the underlying smart-pointer of the source SceneTree.

Parameters
in_thatThe source SceneTree to copy.

◆ SceneTree() [4/4]

HPS::SceneTree::SceneTree ( SceneTree &&  in_that)

The move constructor creates a SceneTree by transferring the underlying object of the rvalue reference to this SceneTree.

Parameters
in_thatAn rvalue reference to a SceneTree to take the underlying object from.

◆ ~SceneTree()

virtual HPS::SceneTree::~SceneTree ( )
virtual

Member Function Documentation

◆ AddHighlightOptions()

void HPS::SceneTree::AddHighlightOptions ( HighlightOptionsKit const &  in_options)

Appends one highlight options that will be used by this SceneTree.

These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator.

Parameters
in_optionshighlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ Assign()

virtual void HPS::SceneTree::Assign ( SceneTree const &  in_that)
virtual

Share the underlying smart-pointer of the SceneTree source.

Parameters
in_thatThe SceneTree source of the assignment.
Returns
A reference to this SceneTree.

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

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

Check if the source SceneTree points to the same underlying impl as this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference the same impl, false otherwise.

◆ Flush()

virtual void HPS::SceneTree::Flush ( )
virtual

Resets the root SceneTreeItem for this SceneTree.

This will release the root SceneTreeItem by this SceneTree and set the root to a null pointer. If this function is overridden, the overriding function should invoke this base function.

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

◆ GetGroupingLimit()

size_t HPS::SceneTree::GetGroupingLimit ( ) const

Gets the grouping limit for this SceneTree.

Returns
The grouping limit for this SceneTree.

◆ GetHighlightEventHandling()

bool HPS::SceneTree::GetHighlightEventHandling ( ) const

Whether this SceneTree is currently handling highlight events This include expanding the tree to the highlighted SceneTreeItem, and making the text for the highlighted SceneTreeItem bold.

Returns
Whether this SceneTreeItem is currently handling highlight events.

◆ GetHighlightOptions()

HighlightOptionsKitArray HPS::SceneTree::GetHighlightOptions ( ) const

Gets the highlight options that will be used by this SceneTree.

Returns
The highlight options that will be used by this SceneTree.

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

◆ GetRoot()

SceneTreeItemPtr HPS::SceneTree::GetRoot ( ) const

Gets the root SceneTreeItem for this SceneTree.

Returns
The root SceneTreeItem for this SceneTree.

◆ 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()

virtual HPS::Type HPS::SceneTree::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

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

Check if the source SceneTree points to a different impl than this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference different impls, false otherwise.

◆ operator=() [1/2]

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

Share the underlying smart-pointer of the SceneTree source.

Parameters
in_thatThe SceneTree source of the assignment.
Returns
A reference to this SceneTree.

◆ operator=() [2/2]

SceneTree& HPS::SceneTree::operator= ( SceneTree &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this SceneTree.

Parameters
in_thatAn rvalue reference to a SceneTree to take the underlying object from.
Returns
A reference to this SceneTree.

◆ operator==()

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

Check if the source SceneTree points to the same underlying impl as this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference the same impl, false otherwise.

◆ ReExpand()

void HPS::SceneTree::ReExpand ( )

Collapses the root SceneTreeItem for this SceneTree and then re-expands the tree.

It will try to preserve the original expansion state, however, if the underlying scene structure has changed, the resulting expansion may look different.

◆ Reset()

◆ SetGroupingLimit()

void HPS::SceneTree::SetGroupingLimit ( size_t  in_limit)

Sets the grouping limit for this SceneTree.

The grouping limit determines when to collect certain items into groups of a particular size. This limit is used to keep the number of children for a particular SceneTreeItem constrained to ensure reasonable performance. Presently this limit is used for segments and geometry SceneTreeItem objects.

Parameters
in_limitThe grouping limit for this SceneTree.

◆ SetHighlightEventHandling()

void HPS::SceneTree::SetHighlightEventHandling ( bool  in_state)

Whether the SceneTree should handle highlighting events.

This include expanding the tree to the highlighted SceneTreeItem, and making the text for the highlighted SceneTreeItem bold. By default the SceneTree will handle highlight events.

Parameters
in_stateWhether to handle highlight events.

◆ SetHighlightOptions() [1/3]

void HPS::SceneTree::SetHighlightOptions ( HighlightOptionsKit const &  in_options)

Sets the highlight options that will be used by this SceneTree.

These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator. Calling this function replaces any highlight options previously set on this object.

Parameters
in_optionsThe highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetHighlightOptions() [2/3]

void HPS::SceneTree::SetHighlightOptions ( HighlightOptionsKitArray const &  in_options)

Sets the highlight options that will be used by this SceneTree.

These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator. Calling this function replaces any highlight options previously set on this object. All elements of the array should be unique. In the case of multiple identical elements, only the first unique one will be added.

Parameters
in_optionsAn array of highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetHighlightOptions() [3/3]

void HPS::SceneTree::SetHighlightOptions ( size_t  in_count,
HighlightOptionsKit const  in_options[] 
)

Sets the highlight options that will be used by this SceneTree.

These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator. Calling this function replaces any highlight options previously set on this object. All elements of the array should be unique. In the case of multiple identical elements, only the first unique one will be added.

Parameters
in_countthe number of highlight options kits in the in_options array
in_optionsAn array of highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetRoot()

void HPS::SceneTree::SetRoot ( SceneTreeItemPtr const &  in_root)

Sets the root SceneTreeItem for this SceneTree.

This object should be created on the heap and it should have been created with a SceneTreeItem constructor which took a Model, View, Canvas or Layout, otherwise an exception will be thrown. Additionally, if there was already an existing root for this SceneTree, the Flush function will be invoked prior to setting this as the new root, and Expand will be invoked on the new root.

Parameters
in_rootThe root SceneTreeItem for this SceneTree.
See also
Flush
SceneTreeItem::Expand

◆ Type()

Member Data Documentation

◆ staticType

const HPS::Type HPS::SceneTree::staticType = HPS::Type::SceneTree
static

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