CuttingSectionKey

class HPS::CuttingSectionKey : public HPS::GeometryKey

The CuttingSectionKey class is a smart pointer to a database object. It is a handle to a cutting section inserted via SegmentKey::InsertCuttingSection.

Public Functions

void Consume(CuttingSectionKit &in_kit)

Completely replaces all settings on this CuttingSectionKey with those set on the specified kit and resets the kit.

Parameters

in_kit – The kit from which to get the settings to replace on this CuttingSectionKey.

CuttingSectionKey()

The default constructor creates an uninitialized CuttingSectionKey object. The Type() function will return Type::None.

CuttingSectionKey(CuttingSectionKey &&in_that)

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

Parameters

in_that – An rvalue reference to a CuttingSectionKey to take the impl from.

CuttingSectionKey(CuttingSectionKey const &in_that)

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

Parameters

in_that – The source CuttingSectionKey to copy.

explicit CuttingSectionKey(Key const &in_that)

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

Parameters

in_that – The source Key to copy.

CuttingSectionKey &EditPlanesByDeletion(size_t in_offset, size_t in_count)

Removes planes from the cutting plane list for this CuttingSectionKey.

Parameters
  • in_offset – The offset into the cutting planes for this CuttingSectionKey at which to start removing planes. This value must be such that in_offset<cutting_plane_count for deletion to succeed.

  • in_count – The number of planes to remove from the cutting plane list for this CuttingSectionKey. This value must be such that in_offset+in_count<=cutting_plane_count for the deletion to succeed.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &EditPlanesByInsertion(size_t in_offset, PlaneArray const &in_planes)

Adds cutting planes to this CuttingSectionKey.

Parameters
  • in_offset – The offset into the cutting plane list for the CuttingSectionKey at which to insert planes. This value must be such that in_offset<cutting_plane_count for insertion to succeed.

  • in_planes – The planes to insert into the cutting plane list at the specified offset.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &EditPlanesByInsertion(size_t in_offset, size_t in_count, Plane const in_planes[])

Adds cutting planes to this CuttingSectionKey.

Parameters
  • in_offset – The offset into the cutting plane list for the CuttingSectionKey at which to insert planes. This value must be such that in_offset<cutting_plane_count for insertion to succeed.

  • in_count – Size of the following array.

  • in_planes – The planes to insert into the cutting plane list at the specified offset.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &EditPlanesByReplacement(size_t in_offset, PlaneArray const &in_planes)

Replaces planes in the cutting plane list for this CuttingSectionKey.

Parameters
  • in_offset – The offset into the cutting plane list for this CuttingSectionKey at which to start replacing planes. This value must be such that in_offset < cutting_plane_count for replacement to succeed.

  • in_planes – The planes to use to replace those in the cutting plane list at the specified offset. The size of this array must be such that in_offset+in_planes.size()<=cutting_plane_count for the replacement to succeed.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &EditPlanesByReplacement(size_t in_offset, size_t in_count, Plane const in_planes[])

Replaces planes in the cutting plane list for this CuttingSectionKey.

Parameters
  • in_offset – The offset into the cutting plane list for this CuttingSectionKey at which to start replacing planes. This value must be such that in_offset<cutting_plane_count for replacement to succeed.

  • in_count – Size of the following array. This value must be such that in_offset+in_count<=cutting_plane_count for the replacement to succeed.

  • in_planes – The planes to use to replace those in the cutting plane list at the specified offset.

Returns

A reference to this CuttingSectionKey.

size_t GetPlaneCount() const

Gets the number of cutting planes for this CuttingSectionKey.

Returns

The number of cutting planes for this CuttingSectionKey.

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.

CuttingSectionKey &operator=(CuttingSectionKey &&in_that)

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

Parameters

in_that – An rvalue reference to a CuttingSectionKey to take the impl from.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &operator=(CuttingSectionKey const &in_that)

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

Parameters

in_that – The source CuttingSectionKey for the assignment.

Returns

A reference to this CuttingSectionKey.

void Set(CuttingSectionKit const &in_kit)

Replace those settings on this CuttingSectionKey with those set on the specified kit.

Parameters

in_kit – The kit from which to get the settings to replace on this CuttingSectionKey.

CuttingSectionKey &SetPlanes(Plane const &in_plane)

Sets a single cutting plane for this CuttingSectionKey.

Parameters

in_plane – The cutting plane for this CuttingSectionKey.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &SetPlanes(PlaneArray const &in_planes)

Sets multiple cutting planes for this CuttingSectionKey.

Parameters

in_planes – The cutting planes for this CuttingSectionKey.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &SetPlanes(size_t in_count, Plane const in_planes[])

Sets multiple cutting planes for this CuttingSectionKey.

Parameters
  • in_count – Size of the following array.

  • in_planes – The cutting planes for this CuttingSectionKey.

Returns

A reference to this CuttingSectionKey.

CuttingSectionKey &SetVisualization(CuttingSection::Mode in_mode, RGBAColor const &in_color, float in_scale = 1.0f)

Sets visualization to use for this CuttingSectionKey.

Parameters
Returns

A reference to this CuttingSectionKey.

void Show(CuttingSectionKit &out_kit) const

Copy the contents of this CuttingSectionKey into the specified kit.

Parameters

out_kit – The kit to populate with the contents of this CuttingSectionKey.

bool ShowPlanes(HPS::PlaneArray &out_planes) const

Shows the cutting planes for this CuttingSectionKey.

Parameters

out_planes – The cutting planes for this CuttingSectionKey.

Returns

true if any cutting planes were set, false otherwise.

bool ShowVisualization(CuttingSection::Mode &out_mode, RGBAColor &out_color, float &out_scale) const

Shows the visualization to use for this CuttingSectionKey.

Parameters
Returns

true if visualization options were set, false otherwise.

~CuttingSectionKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::CuttingSectionKey