GeometryKey
-
class HPS::GeometryKey : public HPS::Key
Subclassed by HPS::CircleKey, HPS::CircularArcKey, HPS::CircularWedgeKey, HPS::CuttingSectionKey, HPS::CylinderKey, HPS::DistantLightKey, HPS::EllipseKey, HPS::EllipticalArcKey, HPS::GridKey, HPS::InfiniteLineKey, HPS::LineKey, HPS::MarkerKey, HPS::MeshKey, HPS::NURBSCurveKey, HPS::NURBSSurfaceKey, HPS::PolygonKey, HPS::ReferenceKey, HPS::ShellKey, HPS::SphereKey, HPS::SpotlightKey, HPS::TextKey
Public Functions
-
GeometryKey()
The default constructor creates an uninitialized GeometryKey object. The Type() function will return Type::None.
-
GeometryKey(GeometryKey &&in_that)
The move constructor creates a GeometryKey by transferring the underlying impl of the rvalue reference to this GeometryKey thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a GeometryKey to take the impl from.
-
GeometryKey(GeometryKey const &in_that)
The copy constructor creates a GeometryKey object that shares the underlying smart-pointer of the source GeometryKey.
- Parameters
in_that – The source GeometryKey to copy.
-
explicit GeometryKey(Key const &in_that)
This constructor creates a GeometryKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really a type of geometry key. Otherwise the copy will fail and the resulting GeometryKey will be invalid.
- Parameters
in_that – The source Key to copy.
-
inline virtual HPS::Type ObjectType() const
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
The declared type of the object in question, which may differ from the true, underlying type.
-
GeometryKey &operator=(GeometryKey &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this GeometryKey thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to a GeometryKey to take the impl from.
- Returns
A reference to this GeometryKey.
-
GeometryKey &operator=(GeometryKey const &in_that)
Associate this GeometryKey with the same underlying impl as the source GeometryKey.
- Parameters
in_that – The source GeometryKey for the assignment.
- Returns
A reference to this GeometryKey.
-
GeometryKey &SetPriority(int in_priority)
Assigns a drawing priority value to the geometry. It affects the order in which the geometry is rendered when the rendering algorithm is set to Priority. All geometry has a default drawing priority assigned based on the order of insertion into the segment.
- Parameters
in_priority – The drawing priority; higher priority items are drawn on top of lower priority items.
- Returns
A reference to this object.
-
GeometryKey &SetUserData(intptr_t in_index, ByteArray const &in_data)
Sets user data on this key.
- Parameters
in_index – The index of the user data to set.
in_data – The bytes of user data to set.
- Returns
A reference to this key.
-
GeometryKey &SetUserData(intptr_t in_index, size_t in_bytes, byte const in_data[])
Sets user data on this key.
- Parameters
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.
- Returns
A reference to this key.
-
GeometryKey &SetUserData(IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
Sets user data on this key.
- Parameters
in_indices – An array of user data indices to set.
in_data – An array of bytes of user data to set.
- Returns
A reference to this key.
-
bool ShowBounding(BoundingKit &out_kit) const
Shows the bounding of this geometry.
- Parameters
out_kit – The BoundingKit that is set on this GeometryKey
- Returns
False if no bounding exists.
-
bool ShowPriority(int &out_priority) const
Shows the drawing priority.
- Parameters
out_priority – The drawing priority; higher priority items are drawn on top of lower priority items.
- Returns
true if a priority was specified, false otherwise.
-
size_t ShowReferrers(ReferenceKeyArray &out_references) const
Shows the all the references to this key.
- Parameters
out_references – The list of all references to this key.
- Returns
The number of references to this key.
-
size_t ShowReferrers(SegmentKeyArray &out_segments) const
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.
- Parameters
out_segments – The list of segments which contains references to this key.
- Returns
The number of segments which contain references to this key.
-
bool ShowUserData(intptr_t in_index, ByteArray &out_data) const
Shows the user data at a given index for this key.
- Parameters
in_index – The index of the user data to show.
out_data – The user data at the given index.
- Returns
true if there is user data at the given index, false otherwise.
-
bool ShowUserData(IntPtrTArray &out_indices, ByteArrayArray &out_data) const
Shows all user data for this key.
- Parameters
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.
- Returns
true if there is user data on this key, false otherwise.
-
size_t ShowUserDataCount() const
Get the number of user data indices set on this key.
-
bool ShowUserDataIndices(IntPtrTArray &out_indices) const
Shows the indices of all user data set on this key.
- Parameters
out_indices – The user data indices set on this key.
- Returns
The number of user data indices set on this key.
-
GeometryKey &UnsetAllUserData()
Removes all user data from this key.
- Returns
A reference to this key.
-
GeometryKey &UnsetPriority()
Removes the drawing priority setting.
- Returns
A reference to this object.
-
GeometryKey &UnsetUserData(intptr_t in_index)
Removes the user data at the given index from this key.
- Parameters
in_index – The index of the user data to remove.
- Returns
A reference to this key.
-
GeometryKey &UnsetUserData(IntPtrTArray const &in_indices)
Removes the user data at the given indices from this key.
- Parameters
in_indices – The indices of the user data to remove.
- Returns
A reference to this key.
-
GeometryKey &UnsetUserData(size_t in_count, intptr_t const in_indices[])
Removes the user data at the given indices from this key.
- Parameters
in_count – The size of the following array.
in_indices – The indices of the user data to remove.
- Returns
A reference to this key.
-
~GeometryKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::GeometryKey
-
GeometryKey()