The ReferenceKey class is a smart pointer to a database object. More...
#include <hps.h>
Public Member Functions | |
ReferenceKey () | |
The default constructor creates an uninitialized ReferenceKey object. More... | |
ReferenceKey (Key const &in_that) | |
This constructor creates an ReferenceKey object that shares the underlying smart-pointer of the source Key. More... | |
ReferenceKey (ReferenceKey const &in_that) | |
The copy constructor creates a ReferenceKey object that shares the underlying smart-pointer of the source ReferenceKey. More... | |
ReferenceKey & | operator= (ReferenceKey const &in_that) |
Associate this ReferenceKey with the same underlying impl as the source ReferenceKey. More... | |
ReferenceKey (ReferenceKey &&in_that) | |
The move constructor creates a ReferenceKey by transferring the underlying impl of the rvalue reference to this ReferenceKey thereby avoiding a copy and allocation. More... | |
ReferenceKey & | operator= (ReferenceKey &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this ReferenceKey thereby avoiding a copy. More... | |
~ReferenceKey () | |
HPS::Type | ObjectType () const |
Key | GetTarget () const |
Gets the geometry or segment key that was used to create this ReferenceKey. More... | |
size_t | ShowTargets (bool masked=true) const |
Gets the count of geometry keys or a segment key targeted by this ReferenceKey. More... | |
size_t | ShowTargets (KeyArray &out_keys, bool masked=true) const |
Gets the geometries keys or a segment key targeted by this ReferenceKey. More... | |
size_t | ShowGeometryMask () const |
Gets the count of masked geometry types. More... | |
size_t | ShowGeometryMask (SearchTypeArray &out_geometry_types) const |
Gets the masked geometry types. More... | |
ReferenceKey & | SetGeometryMask (SearchTypeArray const &in_geometry_types) |
Sets the masked geometry types. More... | |
ReferenceKey & | UnsetGeometryMask () |
Resets the masked geometry types on this ReferenceKey to HPS::Search::Type::Geometry. More... | |
void | SetModellingMatrix (MatrixKit const &in_kit) |
Sets the specified modelling matrix on this reference. More... | |
ReferenceKey & | SetConditionalExpression (ConditionalExpression const &in_conditional) |
Sets a conditional expression on this ReferenceKey. More... | |
void | UnsetModellingMatrix () |
Removes the modelling matrix on this geometry reference. More... | |
ReferenceKey & | UnsetConditionalExpression () |
Removes the conditional expression on this ReferenceKey. More... | |
bool | ShowModellingMatrix (MatrixKit &out_kit) const |
Shows the modelling matrix on this reference. More... | |
bool | ShowConditionalExpression (ConditionalExpression &out_conditional) const |
Shows the conditional expression for this ReferenceKey. More... | |
ModellingMatrixControl | GetModellingMatrixControl () |
Gets a control that allows querying and modifying modelling matrices set on this reference. More... | |
ModellingMatrixControl const | GetModellingMatrixControl () const |
Gets a control that allows querying modelling matrices set on this reference. More... | |
size_t | ShowReferrers (SegmentKeyArray &out_segments) const |
Shows the all the segments which contain references to this key. More... | |
size_t | ShowReferrers (ReferenceKeyArray &out_references) const |
Shows the all the references to this key. More... | |
GeometryKey & | SetPriority (int in_priority) |
Assigns a drawing priority value to the geometry. More... | |
GeometryKey & | UnsetPriority () |
Removes the drawing priority setting. More... | |
bool | ShowPriority (int &out_priority) const |
Shows the drawing priority. More... | |
GeometryKey & | SetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[]) |
Sets user data on this key. More... | |
GeometryKey & | SetUserData (intptr_t in_index, ByteArray const &in_data) |
Sets user data on this key. More... | |
GeometryKey & | SetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data) |
Sets user data on this key. More... | |
GeometryKey & | UnsetUserData (intptr_t in_index) |
Removes the user data at the given index from this key. More... | |
GeometryKey & | UnsetUserData (size_t in_count, intptr_t const in_indices[]) |
Removes the user data at the given indices from this key. More... | |
GeometryKey & | UnsetUserData (IntPtrTArray const &in_indices) |
Removes the user data at the given indices from this key. More... | |
GeometryKey & | UnsetAllUserData () |
Removes all user data from this key. More... | |
size_t | ShowUserDataCount () const |
Get the number of user data indices set on this key. More... | |
bool | ShowUserDataIndices (IntPtrTArray &out_indices) const |
Shows the indices of all user data set on this key. More... | |
bool | ShowUserData (intptr_t in_index, ByteArray &out_data) const |
Shows the user data at a given index for this key. More... | |
bool | ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const |
Shows all user data for this key. More... | |
bool | ShowBounding (BoundingKit &out_kit) const |
Shows the bounding of this geometry. 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::ReferenceKey |
The ReferenceKey class is a smart pointer to a database object.
It is a handle to a geometry reference returned by SegmentKey::ReferenceGeometry.
HPS::ReferenceKey::ReferenceKey | ( | ) |
The default constructor creates an uninitialized ReferenceKey object.
The Type() function will return Type::None.
|
explicit |
This constructor creates an ReferenceKey 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 reference key. Otherwise the copy will fail and the resulting ReferenceKey will be invalid.
in_key | The source Key to copy. |
HPS::ReferenceKey::ReferenceKey | ( | ReferenceKey const & | in_that | ) |
The copy constructor creates a ReferenceKey object that shares the underlying smart-pointer of the source ReferenceKey.
in_that | The source ReferenceKey to copy. |
HPS::ReferenceKey::ReferenceKey | ( | ReferenceKey && | in_that | ) |
The move constructor creates a ReferenceKey by transferring the underlying impl of the rvalue reference to this ReferenceKey thereby avoiding a copy and allocation.
in_that | An rvalue reference to a ReferenceKey to take the impl from. |
HPS::ReferenceKey::~ReferenceKey | ( | ) |
|
virtualinherited |
|
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.
|
inherited |
Copies the database object referred to by this key into a segment pointed to by in_destination.
|
inherited |
Removes the database object referred to by this key.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
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.
|
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.)
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
inherited |
Returns a hash code for the key.
|
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.
ModellingMatrixControl HPS::ReferenceKey::GetModellingMatrixControl | ( | ) |
Gets a control that allows querying and modifying modelling matrices set on this reference.
ModellingMatrixControl const HPS::ReferenceKey::GetModellingMatrixControl | ( | ) | const |
Gets a control that allows querying modelling matrices set on this reference.
Key HPS::ReferenceKey::GetTarget | ( | ) | const |
Gets the geometry or segment key that was used to create this ReferenceKey.
If multiple geometry are referenced only the first is returned.
|
inherited |
|
inherited |
|
inherited |
Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.
|
inlinevirtual |
Reimplemented from HPS::GeometryKey.
|
inherited |
Determines whether the database objects pointed to by this key and in_that are the same.
ReferenceKey& HPS::ReferenceKey::operator= | ( | ReferenceKey const & | in_that | ) |
Associate this ReferenceKey with the same underlying impl as the source ReferenceKey.
in_that | The source ReferenceKey for the assignment. |
ReferenceKey& HPS::ReferenceKey::operator= | ( | ReferenceKey && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this ReferenceKey thereby avoiding a copy.
in_that | An rvalue reference to a ReferenceKey to take the impl from. |
|
inherited |
Determines whether the database objects pointed to by this key and in_that are the same.
|
inherited |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
ReferenceKey& HPS::ReferenceKey::SetConditionalExpression | ( | ConditionalExpression const & | in_conditional | ) |
Sets a conditional expression on this ReferenceKey.
This will either make an unconditional reference into a conditional reference, or modify the condition for an existing conditional reference. The target geometry or segment referenced by this reference will only be drawn in the owning segment if a condition satisfying the given conditional expression is set above this reference in the tree.
in_conditional | The conditional expression for this ReferenceKey. |
ReferenceKey& HPS::ReferenceKey::SetGeometryMask | ( | SearchTypeArray const & | in_geometry_types | ) |
Sets the masked geometry types.
Only the geometry types included in the mask will be processed by this ReferenceKey. Set HPS::Search::Type::Geometry to process all geometry types.
in_geometry_types | The geometry types to be processed by this reference. |
void HPS::ReferenceKey::SetModellingMatrix | ( | MatrixKit const & | in_kit | ) |
Sets the specified modelling matrix on this reference.
in_kit | The modelling matrix to set on this reference. |
|
inherited |
Assigns a drawing priority value to the geometry.
It affects the order in which the geometry is visited if and only if the rendering algorithm is set to Priority. The geometry has a default drawing priority assigned, based on the order of insertion.
in_priority | The drawing priority; higher priority items are drawn on top of lower priority items. |
|
inherited |
Sets user data on this key.
in_index | The index of the user data to set. |
in_bytes | The number of bytes of user data to set. |
in_data | The bytes of user data to set. |
|
inherited |
Sets user data on this key.
in_index | The index of the user data to set. |
in_data | The bytes of user data to set. |
|
inherited |
Sets user data on this key.
in_indices | An array of user data indices to set. |
in_data | An array of bytes of user data to set. |
|
inherited |
Shows the bounding of this geometry.
out_kit | The BoundingKit that is set on this GeometryKey |
bool HPS::ReferenceKey::ShowConditionalExpression | ( | ConditionalExpression & | out_conditional | ) | const |
Shows the conditional expression for this ReferenceKey.
out_conditional | The conditional expression for this ReferenceKey. |
size_t HPS::ReferenceKey::ShowGeometryMask | ( | ) | const |
Gets the count of masked geometry types.
Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry.
size_t HPS::ReferenceKey::ShowGeometryMask | ( | SearchTypeArray & | out_geometry_types | ) | const |
Gets the masked geometry types.
Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry.
out_geometry_types | The geometry types processed by this reference. |
bool HPS::ReferenceKey::ShowModellingMatrix | ( | MatrixKit & | out_kit | ) | const |
Shows the modelling matrix on this reference.
out_kit | The modelling matrix set on this reference. |
|
inherited |
Shows the drawing priority.
out_priority | The drawing priority; higher priority items are drawn on top of lower priority items. |
|
inherited |
Shows the all the segments which contain references to this key.
Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key.
out_segments | The list of segments which contains references to this key. |
|
inherited |
Shows the all the references to this key.
out_references | The list of all references to this key. |
size_t HPS::ReferenceKey::ShowTargets | ( | bool | masked = true | ) | const |
Gets the count of geometry keys or a segment key targeted by this ReferenceKey.
masked | If true a geometry mask if present will be applied to the results. |
size_t HPS::ReferenceKey::ShowTargets | ( | KeyArray & | out_keys, |
bool | masked = true |
||
) | const |
Gets the geometries keys or a segment key targeted by this ReferenceKey.
out_keys | The keys targeted by this reference. |
masked | If true a geometry mask if present will be applied to the results. |
|
inherited |
Shows the user data at a given index for this key.
in_index | The index of the user data to show. |
out_data | The user data at the given index. |
|
inherited |
Shows all user data for this key.
out_indices | An array of all user data indices set on this key. |
out_data | An array of all user data set on this key. |
|
inherited |
Get the number of user data indices set on this key.
|
inherited |
Shows the indices of all user data set on this key.
out_indices | The user data indices set on this key. |
|
virtualinherited |
This function returns the true type of the underlying object.
This function is useful for finding the type of smart pointer objects that have been cast to more generic types.
Reimplemented in HPS::UpdateOptionsControl, HPS::HighlightControl, HPS::SelectionOptionsControl, HPS::OffScreenWindowOptionsControl, HPS::ApplicationWindowOptionsControl, HPS::StandAloneWindowOptionsControl, HPS::AttributeLockControl, HPS::WindowInfoControl, HPS::DebuggingControl, HPS::SubwindowControl, HPS::ContourLineControl, HPS::VisualEffectsControl, HPS::TransformMaskControl, HPS::PostProcessEffectsControl, HPS::DrawingAttributeControl, HPS::HiddenLineAttributeControl, HPS::PerformanceControl, HPS::NURBSSurfaceAttributeControl, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::CurveAttributeControl, HPS::EdgeAttributeControl, HPS::LineAttributeControl, HPS::TextAttributeControl, HPS::CuttingSectionAttributeControl, HPS::CylinderAttributeControl, HPS::LightingAttributeControl, HPS::SphereAttributeControl, HPS::MarkerAttributeControl, HPS::CullingControl, HPS::ColorInterpolationControl, HPS::TransparencyControl, HPS::SelectabilityControl, HPS::CameraControl, HPS::VisibilityControl, HPS::BoundingControl, HPS::Kit, and HPS::Control.
|
inherited |
Removes all user data from this key.
ReferenceKey& HPS::ReferenceKey::UnsetConditionalExpression | ( | ) |
Removes the conditional expression on this ReferenceKey.
This will turn a conditional reference into an unconditional reference.
ReferenceKey& HPS::ReferenceKey::UnsetGeometryMask | ( | ) |
Resets the masked geometry types on this ReferenceKey to HPS::Search::Type::Geometry.
void HPS::ReferenceKey::UnsetModellingMatrix | ( | ) |
Removes the modelling matrix on this geometry reference.
|
inherited |
Removes the drawing priority setting.
|
inherited |
Removes the user data at the given index from this key.
in_index | The index of the user data to remove. |
|
inherited |
Removes the user data at the given indices from this key.
in_count | The size of the following array. |
in_indices | The indices of the user data to remove. |
|
inherited |
Removes the user data at the given indices from this key.
in_indices | The indices of the user data to remove. |
|
inherited |
|
static |