CuttingSectionKey

class 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