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:
in_mode – The mode for the CuttingSectionKey.
in_color – The RGBA color for the CuttingSectionKey.
in_scale – The scale to apply to the visualization geometry for this CuttingSectionKey. Defaults to 1.0f.
- 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:
out_mode – The mode for this CuttingSectionKey.
out_color – The RGBA color for this CuttingSectionKey.
out_scale – The scale to apply to the visualization geometry for this CuttingSectionKey.
- Returns:
true if visualization options were set, false otherwise.
-
~CuttingSectionKey()
-
void Consume(CuttingSectionKit &in_kit)