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

The IncludeKey class is a smart pointer to a database object. More...

#include <hps.h>

Inheritance diagram for HPS::IncludeKey:
Collaboration diagram for HPS::IncludeKey:

Public Member Functions

 IncludeKey ()
 The default constructor creates an uninitialized IncludeKey object. More...
 
 IncludeKey (Key const &in_that)
 This constructor creates an IncludeKey object that shares the underlying smart-pointer of the source Key. More...
 
 IncludeKey (IncludeKey const &in_that)
 The copy constructor creates a IncludeKey object that shares the underlying smart-pointer of the source IncludeKey. More...
 
IncludeKeyoperator= (IncludeKey const &in_that)
 Associate this IncludeKey with the same underlying impl as the source IncludeKey. More...
 
 IncludeKey (IncludeKey &&in_that)
 The move constructor creates an IncludeKey by transferring the underlying impl of the rvalue reference to this IncludeKey thereby avoiding a copy and allocation. More...
 
IncludeKeyoperator= (IncludeKey &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this IncludeKey thereby avoiding a copy. More...
 
 ~IncludeKey ()
 
HPS::Type ObjectType () const
 
SegmentKey GetTarget () const
 Gets the target, i.e., the segment to be included, for this IncludeKey. More...
 
IncludeKeySetPriority (int in_priority)
 Assigns a specific drawing priority value of an include. More...
 
IncludeKeySetConditionalExpression (ConditionalExpression const &in_conditional)
 Sets a conditional expression on this IncludeKey. More...
 
IncludeKeyUnsetPriority ()
 Removes a drawing priority setting. More...
 
IncludeKeyUnsetConditionalExpression ()
 Removes the conditional expression on this IncludeKey. More...
 
bool ShowPriority (int &out_priority) const
 Shows the drawing priority. More...
 
bool ShowConditionalExpression (ConditionalExpression &out_conditional) const
 Shows the conditional expression for this IncludeKey. More...
 
IncludeKeySetFilter (AttributeLock::Type in_type)
 Sets an attribute filter on this IncludeKey. More...
 
IncludeKeySetFilter (size_t in_count, AttributeLock::Type const in_types[])
 Sets an array of attribute filters on this IncludeKey. More...
 
IncludeKeySetFilter (AttributeLockTypeArray const &in_types)
 Sets an array of attribute filters on this IncludeKey. More...
 
IncludeKeyUnsetFilter (AttributeLock::Type in_type)
 Removes an attribute filter from this IncludeKey. More...
 
IncludeKeyUnsetFilter (size_t in_count, AttributeLock::Type const in_types[])
 Removes an array of attribute filters from this IncludeKey. More...
 
IncludeKeyUnsetFilter (AttributeLockTypeArray const &in_types)
 Removes an array of attribute filters from this IncludeKey. More...
 
bool ShowFilter (AttributeLockTypeArray &out_types) const
 Shows an array of the current attribute filters on this IncludeKey. More...
 
bool ShowFilter (HPS::AttributeLock::Type in_type) const
 Tests if a specific attribute filter is set on this IncludeKey. More...
 
bool HasOwner () const
 
SegmentKey Up () const
 
SegmentKey Owner () const
 
void Delete ()
 Removes the database object referred to by this key. More...
 
void MoveTo (SegmentKey const &in_new_owner)
 Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner. More...
 
Key CopyTo (SegmentKey const &in_destination) const
 Copies the database object referred to by this key into a segment pointed to by in_destination. More...
 
virtual void Assign (Key const &in_that)
 Share the underlying smart-pointer of the Key source. More...
 
bool Equals (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator!= (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator== (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
size_t GetHash () const
 Returns a hash code for the key. 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::IncludeKey
 

Detailed Description

The IncludeKey class is a smart pointer to a database object.

It is a handle to an include key created by SegmentKey::IncludeSegment.

Constructor & Destructor Documentation

◆ IncludeKey() [1/4]

HPS::IncludeKey::IncludeKey ( )

The default constructor creates an uninitialized IncludeKey object.

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

◆ IncludeKey() [2/4]

HPS::IncludeKey::IncludeKey ( Key const &  in_that)
explicit

This constructor creates an IncludeKey object that shares the underlying smart-pointer of the source Key.

The copy will only be successful if the source key is really an upcast of an include key. Otherwise the copy will fail and the resulting IncludeKey will be invalid.

Parameters
in_thatThe source Key to copy.

◆ IncludeKey() [3/4]

HPS::IncludeKey::IncludeKey ( IncludeKey const &  in_that)

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

Parameters
in_thatThe source IncludeKey to copy.

◆ IncludeKey() [4/4]

HPS::IncludeKey::IncludeKey ( IncludeKey &&  in_that)

The move constructor creates an IncludeKey by transferring the underlying impl of the rvalue reference to this IncludeKey thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an IncludeKey to take the impl from.

◆ ~IncludeKey()

HPS::IncludeKey::~IncludeKey ( )

Member Function Documentation

◆ Assign()

virtual void HPS::Key::Assign ( Key const &  in_that)
virtualinherited

Share the underlying smart-pointer of the Key source.

Parameters
in_thatThe Key source of the assignment.

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

◆ CopyTo()

Key HPS::Key::CopyTo ( SegmentKey const &  in_destination) const
inherited

Copies the database object referred to by this key into a segment pointed to by in_destination.

Returns
The key of the new copy.

◆ Delete()

void HPS::Key::Delete ( )
inherited

Removes the database object referred to by this key.

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

Determines whether the database objects pointed to by this key and in_that are the same.

Empty keys (when key.Empty() returns true) are never equal to any key, even when the key is compared against itself (they act analogously to NaN comparisons in this case.)

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

◆ GetHash()

size_t HPS::Key::GetHash ( ) const
inherited

Returns a hash code for the key.

Returns
The size_t hash code.
Here is the caller graph for this function:

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

◆ GetTarget()

SegmentKey HPS::IncludeKey::GetTarget ( ) const

Gets the target, i.e., the segment to be included, for this IncludeKey.

Returns
The target, i.e., the segment to be included, for this IncludeKey.

◆ HasOwner()

bool HPS::Key::HasOwner ( ) const
inherited
Returns
Indicates whether this key has an owner or not.

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

◆ MoveTo()

void HPS::Key::MoveTo ( SegmentKey const &  in_new_owner)
inherited

Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.

◆ ObjectType()

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

Reimplemented from HPS::Key.

◆ operator!=()

bool HPS::Key::operator!= ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ operator=() [1/2]

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

Associate this IncludeKey with the same underlying impl as the source IncludeKey.

Parameters
in_thatThe source IncludeKey for the assignment.
Returns
A reference to this IncludeKey.

◆ operator=() [2/2]

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

The move assignment operator transfers the underlying impl of the rvalue reference to this IncludeKey thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an IncludeKey to take the impl from.
Returns
A reference to this IncludeKey.

◆ operator==()

bool HPS::Key::operator== ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ Owner()

SegmentKey HPS::Key::Owner ( ) const
inherited
Returns
The segment containing this key.

◆ Reset()

◆ SetConditionalExpression()

IncludeKey& HPS::IncludeKey::SetConditionalExpression ( ConditionalExpression const &  in_conditional)

Sets a conditional expression on this IncludeKey.

This will either make an unconditional include into a conditional include, or modify the condition for an existing conditional include. The target segment referenced by this include will only be included if a condition satisfying the given conditional expression is set above this include in the tree.

Parameters
in_conditionalThe conditional expression for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
SegmentKey::SetCondition
ConditionControl::SetCondition
ConditionControl::AddCondition

◆ SetFilter() [1/3]

IncludeKey& HPS::IncludeKey::SetFilter ( AttributeLock::Type  in_type)

Sets an attribute filter on this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_typeThe attribute filter to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetFilter() [2/3]

IncludeKey& HPS::IncludeKey::SetFilter ( size_t  in_count,
AttributeLock::Type const  in_types[] 
)

Sets an array of attribute filters on this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_countThe size of the attribute filter array.
in_typesThe array of attribute filters to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetFilter() [3/3]

IncludeKey& HPS::IncludeKey::SetFilter ( AttributeLockTypeArray const &  in_types)

Sets an array of attribute filters on this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_typesThe array of attribute filters to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetPriority()

IncludeKey& HPS::IncludeKey::SetPriority ( int  in_priority)

Assigns a specific drawing priority value of an include.

It affects the order in which the include is visited, if and only if the rendering algorithm is set to Priority.

Parameters
in_priorityThe drawing priority, higher priority items are visited before lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetRenderingAlgorithm()

◆ ShowConditionalExpression()

bool HPS::IncludeKey::ShowConditionalExpression ( ConditionalExpression out_conditional) const

Shows the conditional expression for this IncludeKey.

Parameters
out_conditionalThe conditional expression for this IncludeKey.
Returns
true if a conditional expression is set on this IncludeKey, false otherwise.

◆ ShowFilter() [1/2]

bool HPS::IncludeKey::ShowFilter ( AttributeLockTypeArray out_types) const

Shows an array of the current attribute filters on this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
out_typesThe array of attribute filters currently set on this IncludeKey.
Returns
true if there are attribute filters, false otherwise.
See also
IncludeKey::SetFilter
IncludeKey::UnsetFilter

◆ ShowFilter() [2/2]

bool HPS::IncludeKey::ShowFilter ( HPS::AttributeLock::Type  in_type) const

Tests if a specific attribute filter is set on this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_typeThe attribute filter to test on this IncludeKey.
Returns
true if the specified atribute filter is active on this IncludeKey, false otherwise.
See also
IncludeKey::SetFilter
IncludeKey::UnsetFilter

◆ ShowPriority()

bool HPS::IncludeKey::ShowPriority ( int &  out_priority) const

Shows the drawing priority.

Parameters
out_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
true if the setting is valid, false otherwise.

◆ Type()

◆ UnsetConditionalExpression()

IncludeKey& HPS::IncludeKey::UnsetConditionalExpression ( )

Removes the conditional expression on this IncludeKey.

This will turn a conditional include into an unconditional include.

Returns
A reference to this IncludeKey.

◆ UnsetFilter() [1/3]

IncludeKey& HPS::IncludeKey::UnsetFilter ( AttributeLock::Type  in_type)

Removes an attribute filter from this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_typeThe attribute filter to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetFilter() [2/3]

IncludeKey& HPS::IncludeKey::UnsetFilter ( size_t  in_count,
AttributeLock::Type const  in_types[] 
)

Removes an array of attribute filters from this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_countThe size of the attribute filter array.
in_typesThe array of attribute filters to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetFilter() [3/3]

IncludeKey& HPS::IncludeKey::UnsetFilter ( AttributeLockTypeArray const &  in_types)

Removes an array of attribute filters from this IncludeKey.

Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters
in_typesThe array of attribute filters to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetPriority()

IncludeKey& HPS::IncludeKey::UnsetPriority ( )

Removes a drawing priority setting.

Returns
A reference to this object.

◆ Up()

SegmentKey HPS::Key::Up ( ) const
inherited
Returns
The segment containing this key.

Member Data Documentation

◆ staticType

const HPS::Type HPS::IncludeKey::staticType = HPS::Type::IncludeKey
static

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