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.

See

SubwindowKit::SetRenderingAlgorithm()

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