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

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

#include <hps.h>

Inheritance diagram for HPS::StyleKey:
Collaboration diagram for HPS::StyleKey:

Public Member Functions

 StyleKey ()
 The default constructor creates an uninitialized StyleKey object. More...
 
 StyleKey (Key const &in_that)
 This constructor creates an StyleKey object that shares the underlying smart-pointer of the source Key. More...
 
 StyleKey (StyleKey const &in_that)
 The copy constructor creates a StyleKey object that shares the underlying smart-pointer of the source StyleKey. More...
 
StyleKeyoperator= (StyleKey const &other)
 Associate this StyleKey with the same underlying impl as the source StyleKey. More...
 
 StyleKey (StyleKey &&in_that)
 The move constructor creates a StyleKey by transferring the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy and allocation. More...
 
StyleKeyoperator= (StyleKey &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy. More...
 
 ~StyleKey ()
 
HPS::Type ObjectType () const
 
bool ShowSource (Style::Type &out_type, SegmentKey &out_segment, UTF8 &out_name) const
 Shows the source for this StyleKey. More...
 
StyleKeySetConditionalExpression (ConditionalExpression const &in_conditional)
 Sets a conditional expression on this StyleKey. More...
 
StyleKeyUnsetConditionalExpression ()
 Removes the conditional expression on this StyleKey. More...
 
bool ShowConditionalExpression (ConditionalExpression &out_conditional) const
 Shows the conditional expression for this StyleKey. More...
 
StyleKeySetFilter (AttributeLock::Type in_type)
 Sets an attribute filter on this StyleKey. More...
 
StyleKeySetFilter (size_t in_count, AttributeLock::Type const in_types[])
 Sets an array of attribute filters on this StyleKey. More...
 
StyleKeySetFilter (AttributeLockTypeArray const &in_types)
 Sets an array of attribute filters on this StyleKey. More...
 
StyleKeyUnsetFilter (AttributeLock::Type in_type)
 Removes an attribute filter from this StyleKey. More...
 
StyleKeyUnsetFilter (size_t in_count, AttributeLock::Type const in_types[])
 Removes an array of attribute filters from this StyleKey. More...
 
StyleKeyUnsetFilter (AttributeLockTypeArray const &in_types)
 Removes an array of attribute filters from this StyleKey. More...
 
bool ShowFilter (AttributeLockTypeArray &out_types) const
 Shows an array of the current attribute filters on this StyleKey. More...
 
bool ShowFilter (HPS::AttributeLock::Type in_type) const
 Tests if a specific attribute filter is set on this StyleKey. 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::StyleKey
 

Detailed Description

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

It is a handle to a style key created by StyleControl::PushSegment.

Constructor & Destructor Documentation

◆ StyleKey() [1/4]

HPS::StyleKey::StyleKey ( )

The default constructor creates an uninitialized StyleKey object.

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

◆ StyleKey() [2/4]

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

This constructor creates an StyleKey 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 a style key. Otherwise the copy will fail and the resulting StyleKey will be invalid.

Parameters
in_keyThe source Key to copy.

◆ StyleKey() [3/4]

HPS::StyleKey::StyleKey ( StyleKey const &  in_that)

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

Parameters
in_thatThe source StyleKey to copy.

◆ StyleKey() [4/4]

HPS::StyleKey::StyleKey ( StyleKey &&  in_that)

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

Parameters
in_thatAn rvalue reference to a StyleKey to take the impl from.

◆ ~StyleKey()

HPS::StyleKey::~StyleKey ( )

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.

◆ 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::StyleKey::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]

StyleKey& HPS::StyleKey::operator= ( StyleKey const &  other)

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

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

◆ operator=() [2/2]

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

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

Parameters
in_thatAn rvalue reference to a StyleKey to take the impl from.
Returns
A reference to this StyleKey.

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

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

Sets a conditional expression on this StyleKey.

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

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

◆ SetFilter() [1/3]

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

Sets an attribute filter on this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ SetFilter() [2/3]

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

Sets an array of attribute filters on this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ SetFilter() [3/3]

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

Sets an array of attribute filters on this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ ShowConditionalExpression()

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

Shows the conditional expression for this StyleKey.

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

◆ ShowFilter() [1/2]

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

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

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ ShowFilter() [2/2]

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

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

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ ShowSource()

bool HPS::StyleKey::ShowSource ( Style::Type out_type,
SegmentKey out_segment,
UTF8 out_name 
) const

Shows the source for this StyleKey.

Parameters
out_typeThe type of source for this StyleKey. This field indicates which of the following arguments are valid.
out_segmentThe segment source for this StyleKey. This is only valid if out_type is Style::Type::Segment.
out_nameThe name source for this StyleKey. This is only valid if out_type is Style::Type::Named.
Returns
true if there is a source for this StyleKey, false otherwise.

◆ Type()

◆ UnsetConditionalExpression()

StyleKey& HPS::StyleKey::UnsetConditionalExpression ( )

Removes the conditional expression on this StyleKey.

This will turn a conditional style into an unconditional style.

Returns
A reference to this StyleKey.

◆ UnsetFilter() [1/3]

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

Removes an attribute filter from this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ UnsetFilter() [2/3]

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

Removes an array of attribute filters from this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ UnsetFilter() [3/3]

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

Removes an array of attribute filters from this StyleKey.

Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

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

◆ Up()

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

Member Data Documentation

◆ staticType

const HPS::Type HPS::StyleKey::staticType = HPS::Type::StyleKey
static

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