#include <hps.h>
Public Member Functions | |
ReferenceKey () | |
ReferenceKey (Key const &in_that) | |
ReferenceKey (ReferenceKey const &in_that) | |
ReferenceKey & | operator= (ReferenceKey const &in_that) |
ReferenceKey (ReferenceKey &&in_that) | |
ReferenceKey & | operator= (ReferenceKey &&in_that) |
HPS::Type | ObjectType () const |
Key | GetTarget () const |
size_t | ShowTargets (bool masked=true) const |
size_t | ShowTargets (KeyArray &out_keys, bool masked=true) const |
size_t | ShowGeometryMask () const |
size_t | ShowGeometryMask (SearchTypeArray &out_geometry_types) const |
ReferenceKey & | SetGeometryMask (SearchTypeArray const &in_geometry_types) |
ReferenceKey & | UnsetGeometryMask () |
void | SetModellingMatrix (MatrixKit const &in_kit) |
ReferenceKey & | SetCondition (Condition const &in_condition) |
void | UnsetModellingMatrix () |
ReferenceKey & | UnsetCondition () |
bool | ShowModellingMatrix (MatrixKit &out_kit) const |
bool | ShowCondition (Condition &out_condition) const |
ModellingMatrixControl | GetModellingMatrixControl () |
ModellingMatrixControl const | GetModellingMatrixControl () const |
![]() | |
GeometryKey () | |
GeometryKey (Key const &in_that) | |
GeometryKey (GeometryKey const &in_that) | |
GeometryKey & | operator= (GeometryKey const &in_that) |
GeometryKey (GeometryKey &&in_that) | |
GeometryKey & | operator= (GeometryKey &&in_that) |
size_t | ShowReferrers (SegmentKeyArray &out_segments) const |
size_t | ShowReferrers (ReferenceKeyArray &out_references) const |
GeometryKey & | SetPriority (int in_priority) |
GeometryKey & | UnsetPriority () |
bool | ShowPriority (int &out_priority) const |
GeometryKey & | SetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[]) |
GeometryKey & | SetUserData (intptr_t in_index, ByteArray const &in_data) |
GeometryKey & | SetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data) |
GeometryKey & | UnsetUserData (intptr_t in_index) |
GeometryKey & | UnsetUserData (size_t in_count, intptr_t const in_indices[]) |
GeometryKey & | UnsetUserData (IntPtrTArray const &in_indices) |
GeometryKey & | UnsetAllUserData () |
size_t | ShowUserDataCount () const |
bool | ShowUserDataIndices (IntPtrTArray &out_indices) const |
bool | ShowUserData (intptr_t in_index, ByteArray &out_data) const |
bool | ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const |
bool | ShowBoundings (BoundingKit &out_kit) const |
![]() | |
Key () | |
Key (Key const &in_that) | |
Key (Control const &in_control) | |
Key (Key &&in_that) | |
Key & | operator= (Key &&in_that) |
virtual | ~Key () |
bool | HasOwner () const |
SegmentKey | Up () const |
SegmentKey | Owner () const |
void | Delete () |
void | MoveTo (SegmentKey const &in_new_owner) |
Key | CopyTo (SegmentKey const &in_destination) const |
Key & | operator= (Key const &in_that) |
virtual void | Assign (Key const &in_that) |
bool | Equals (Key const &in_that) const |
bool | operator!= (Key const &in_that) const |
bool | operator== (Key const &in_that) const |
size_t | GetHash () const |
![]() | |
Object & | operator= (Object const &other_object) |
Object (Object &&in_that) | |
Object & | operator= (Object &&in_that) |
HPS::Type | Type () const |
virtual bool | Empty () const |
virtual void | Reset () |
bool | HasType (HPS::Type in_mask) const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
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. |
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.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
Reimplemented from HPS::GeometryKey.
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. |
ReferenceKey& HPS::ReferenceKey::SetCondition | ( | Condition const & | in_condition | ) |
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_condition | 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. |
bool HPS::ReferenceKey::ShowCondition | ( | Condition & | out_condition | ) | const |
Shows the conditional expression for this ReferenceKey.
out_condition | 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. |
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. |
ReferenceKey& HPS::ReferenceKey::UnsetCondition | ( | ) |
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.