ShellKey
-
class HPS::ShellKey : public HPS::GeometryKey
The ShellKey class is a smart pointer to a database object. It is a handle to a shell created by SegmentKey::InsertShell.
Public Functions
-
void ComputeRelation(PointArray const &in_points, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
Computes the relation of a collection of points to this shell, subject to the specified options.
- Parameters
in_points – An array of points to test against this shell.
in_options – The options to use when performing the relation test.
out_results – The results of the relation test.
-
void ComputeRelation(ShellKey const &in_points_source, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
Computes the relation of a collection of points to this shell, subject to the specified options.
- Parameters
in_points_source – A shell whose points should be tested against this shell.
in_options – The options to use when performing the relation test.
out_results – The results of the relation test.
-
void ComputeRelation(ShellKit const &in_points_source, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
Computes the relation of a collection of points to this shell, subject to the specified options.
- Parameters
in_points_source – A shell whose points should be tested against this shell.
in_options – The options to use when performing the relation test.
out_results – The results of the relation test.
-
void Consume(ShellKit &in_kit)
Completely replaces all settings on this ShellKey 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 ShellKey.
-
ShellKey &EditFacelistByDeletion(size_t in_offset, size_t in_count)
Removes faces from the face list for this ShellKey. This will not affect the points referenced by the removed faces, however any face attributes on the removed faces will be lost.
- Parameters
in_offset – The offset into the faces for the shell at which to start removing faces. This value must be such that in_offset<face_count for deletion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.
in_count – The number of faces to remove from the face list for the shell. This value must be such that in_offset+in_count<=face_count for the deletion to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &EditFacelistByInsertion(size_t in_offset, IntArray const &in_facelist)
Adds faces to the face list for this ShellKey.
- Parameters
in_offset – The offset into the faces for the shell at which to insert faces. This value must be such that in_offset<face_count for insertion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.
in_facelist – The faces (using the standard face-list encoding) to insert into the face list at the specified offset.
- Returns
A reference to this ShellKey.
-
ShellKey &EditFacelistByInsertion(size_t in_offset, size_t in_count, int const in_facelist[])
Adds faces to the face list for this ShellKey.
- Parameters
in_offset – The offset into the faces for the shell at which to insert faces. This value must be such that in_offset<face_count for insertion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.
in_count – Size of the following array.
in_facelist – The faces (using the standard face-list encoding) to insert into the face list at the specified offset.
- Returns
A reference to this ShellKey.
-
ShellKey &EditFacelistByReplacement(size_t in_offset, IntArray const &in_facelist)
Replaces faces in the face list for this ShellKey.
- Parameters
in_offset – The offset into the faces for the shell at which to start replacing faces. This value must be such that in_offset<face_count for replacement to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.
in_facelist – The faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.
- Returns
A reference to this ShellKey.
-
ShellKey &EditFacelistByReplacement(size_t in_offset, size_t in_count, int const in_facelist[])
Replaces faces in the face list for this ShellKey.
- Parameters
in_offset – The offset into the faces for the shell at which to start replacing faces. This value must be such that in_offset<face_count for replacement to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.
in_count – Size of the following array.
in_facelist – The faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.
- Returns
A reference to this ShellKey.
-
ShellKey &EditPointsByDeletion(size_t in_offset, size_t in_count)
Removes points from the point list for this ShellKey. Any existing faces which reference points which are being deleted will be removed. Additionally, any vertex settings on the deleted vertices, i.e., colors, normals, parameters, and visibilities, will be removed. The face list will also be updated to reflect the new vertex offsets caused by removing elements from the point list.
- Parameters
in_offset – The offset into the point list for the shell at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.
in_count – The number of points to delete from the point list for the shell. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &EditPointsByInsertion(size_t in_offset, PointArray const &in_points)
Adds points to the point list for this ShellKey. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.
- Parameters
in_offset – The offset into the point list for the shell at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.
in_points – The points to insert into the point list at the specified offset.
- Returns
A reference to this ShellKey.
-
ShellKey &EditPointsByInsertion(size_t in_offset, size_t in_count, Point const in_points[])
Adds points to the point list for this ShellKey. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.
- Parameters
in_offset – The offset into the point list for the shell at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.
in_count – Size of the following array.
in_points – The points to insert into the point list at the specified offset.
- Returns
A reference to this ShellKey.
-
ShellKey &EditPointsByReplacement(size_t in_offset, PointArray const &in_points)
Replaces points in the point list for this ShellKey. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.
- Parameters
in_offset – The offset into the point list for the shell at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.
in_points – The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &EditPointsByReplacement(size_t in_offset, size_t in_count, Point const in_points[])
Replaces points in the point list for this ShellKey. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.
- Parameters
in_offset – The offset into the point list for the shell at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.
in_count – Size of the following array. This value must be such that in_offset+in_count<=point_count for the replacement to succeed.
in_points – The points to use to replace those in the point list at the specified offset.
- Returns
A reference to this ShellKey.
-
size_t GetFaceCount() const
Retrieves the number of faces in this shell. Note that this is different than the length of the face list
- Returns
The number of faces in this shell.
-
size_t GetPointCount() const
Retrieves the number of points in this shell.
- Returns
The number of points in this shell.
-
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.
-
ShellKey &operator=(ShellKey &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this ShellKey thereby avoiding a copy.
-
ShellKey &operator=(ShellKey const &other)
Associate this ShellKey with the same underlying impl as the source ShellKey.
-
void Optimize(ShellOptimizationOptionsKit const &in_shell_optimization_kit)
Optimizes the shell using the parameters set in a ShellOptimizationOptionsKit
- Parameters
in_shell_optimization_options_kit – The kit containing the optimization options to use.
-
void Set(ShellKit const &in_kit)
Replace those settings on this ShellKey with those set on the specified kit.
- Parameters
in_kit – The kit from which to get the settings to replace on this ShellKey.
-
ShellKey &SetEdgeIndexColorsByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], float const in_indices[])
Sets edge material indices on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indices – The material indices to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeIndexColorsByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], float in_index)
Sets edge material indices on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_index – The material index to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeIndexColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, float in_index)
Sets edge material indices on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_index – The material index to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeIndexColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, FloatArray const &in_indices)
Sets edge material indices on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indices – The material indices to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeRGBColorsByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], RGBColor const in_rgb_color)
Sets edge colors on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_color – The color to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeRGBColorsByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], RGBColor const in_rgb_colors[])
Sets edge colors on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colors – The colors to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeRGBColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, RGBColor const &in_rgb_color)
Sets edge colors on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_color – The color to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeRGBColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, RGBColorArray const &in_rgb_colors)
Sets edge colors on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colors – The colors to set on the edges.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeVisibilitiesByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], bool const in_visibilities[])
Sets edge visibilities on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilities – The visibilities that should be set for each edge specified.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeVisibilitiesByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[], bool in_visibility)
Sets edge visibilities on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibility – The visibility to apply to each edge specified.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeVisibilitiesByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, bool in_visibility)
Sets edge visibilities on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibility – The visibility to apply to each edge specified.
- Returns
A reference to this ShellKey.
-
ShellKey &SetEdgeVisibilitiesByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, BoolArray const &in_visibilities)
Sets edge visibilities on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilities – The visibilities that should be set for each edge specified.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByList(size_t in_count, size_t const in_faces[], float const in_indices[])
Sets face material indices on a selection of arbitrary faces.
- Parameters
in_count – Size of the following arrays.
in_faces – The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indices – The material indices to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByList(size_t in_count, size_t const in_faces[], float in_index)
Sets a single material index on a selection of arbitrary faces.
- Parameters
in_count – Size of the following array.
in_faces – The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_index – The material index to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByList(SizeTArray const &in_faces, float in_index)
Sets a single material index on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_index – The material index to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByList(SizeTArray const &in_faces, FloatArray const &in_indices)
Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.
- Parameters
in_faces – The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indices – The material indices to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByRange(size_t in_start, FloatArray const &in_indices)
Sets face material indices on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_indices – The material indices to set on the faces for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=face_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByRange(size_t in_start, size_t in_count, float const in_indices[])
Sets face material indices on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_indices – The material indices to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceIndexColorsByRange(size_t in_start, size_t in_count, float in_index)
Sets a single material index on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.
in_count – The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_index – The material index to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFacelist(IntArray const &in_facelist)
Replace the face list on this ShellKey with the specified face list.
-
ShellKey &SetFacelist(size_t in_count, int const in_facelist[])
Replace the face list on this ShellKey with the specified face list.
-
ShellKey &SetFaceNormalsByList(size_t in_count, size_t const in_faces[], Vector const &in_normal)
Sets a single normal on a selection of arbitrary faces.
- Parameters
in_count – Size of the following array.
in_faces – The indices of the faces on which to set the normal. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normal – The normal to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByList(size_t in_count, size_t const in_faces[], Vector const in_normals[])
Sets face normals on a selection of arbitrary faces.
- Parameters
in_count – Size of the following arrays.
in_faces – The indices of the faces on which to set the normals. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normals – The normals to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByList(SizeTArray const &in_faces, Vector const &in_normal)
Sets a single normal on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to set the normal. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normal – The normal to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByList(SizeTArray const &in_faces, VectorArray const &in_normals)
Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.
- Parameters
in_faces – The indices of the faces on which to set the normals. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normals – The normals to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByRange(size_t in_start, size_t in_count, Vector const &in_normal)
Sets a single normal on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting the normal. This value must be such that in_start<face_count for setting to succeed.
in_count – The number of faces on which to set the normal. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_normal – The normal to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByRange(size_t in_start, size_t in_count, Vector const in_normals[])
Sets face normals on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_normals – The normals to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceNormalsByRange(size_t in_start, VectorArray const &in_normals)
Sets face normals on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.
in_normals – The normals to set on the faces for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=face_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByList(size_t in_count, size_t const in_faces[], RGBColor const &in_rgb_color)
Sets a single RGB color on a selection of arbitrary faces.
- Parameters
in_count – Size of the following array.
in_faces – The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_color – The RGB color to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByList(size_t in_count, size_t const in_faces[], RGBColor const in_rgb_colors[])
Sets face RGB colors on a selection of arbitrary faces.
- Parameters
in_count – Size of the following arrays.
in_faces – The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByList(SizeTArray const &in_faces, RGBColor const &in_rgb_color)
Sets a single RGB color on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_color – The RGB color to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByList(SizeTArray const &in_faces, RGBColorArray const &in_rgb_colors)
Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.
- Parameters
in_faces – The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByRange(size_t in_start, RGBColorArray const &in_rgb_colors)
Sets face RGB colors on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the faces for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=face_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByRange(size_t in_start, size_t in_count, RGBColor const &in_rgb_color)
Sets a single RGB color on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.
in_count – The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_rgb_color – The RGB color to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceRGBColorsByRange(size_t in_start, size_t in_count, RGBColor const in_rgb_colors[])
Sets face RGB colors on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_rgb_colors – The RGB colors to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByList(size_t in_count, size_t const in_faces[], bool const in_visibilities[])
Sets face visibilities on a selection of arbitrary faces.
- Parameters
in_count – Size of the following arrays.
in_faces – The indices of the faces on which to set the visibilities. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilities – The visibilities to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByList(size_t in_count, size_t const in_faces[], bool in_visibility)
Sets a single visibility on a selection of arbitrary faces.
- Parameters
in_count – Size of the following array.
in_faces – The indices of the faces on which to set the visibility. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibility – The visibility to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByList(SizeTArray const &in_faces, bool in_visibility)
Sets a single visibility on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to set the visibility. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibility – The visibility to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByList(SizeTArray const &in_faces, BoolArray const &in_visibilities)
Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.
- Parameters
in_faces – The indices of the faces on which to set the visibilities. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilities – The visibilities to set on the faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByRange(size_t in_start, BoolArray const &in_visibilities)
Sets face visibilities on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.
in_visibilities – The visibilities to set on the faces for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=face_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByRange(size_t in_start, size_t in_count, bool const in_visibilities[])
Sets face visibilities on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_visibilities – The visibilities to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetFaceVisibilitiesByRange(size_t in_start, size_t in_count, bool in_visibility)
Sets a single visibility on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start setting the visibility. This value must be such that in_start<face_count for setting to succeed.
in_count – The number of faces on which to set the visibility. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_visibility – The visibility to set on the faces for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetMaterialMapping(MaterialMappingKit const &in_kit)
Sets the specified material mappings on this ShellKey. Only face, back face, cut edge, cut face, edge, and vertex materials will be set on the shell. These material settings will be “global” for the shell, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.
-
ShellKey &SetPoints(PointArray const &in_points)
Replace the points on this ShellKey with the specified points.
-
ShellKey &SetPoints(size_t in_count, Point const in_points[])
Replace the points on this ShellKey with the specified points.
-
ShellKey &SetTristrips(IntArray const &in_tristrips)
Replace the face list on this ShellKey with the specified face list.
-
ShellKey &SetTristrips(size_t in_count, int const in_tristrips[])
Replace the face list on this ShellKey with the specified face list.
-
ShellKey &SetVertexIndexColorsByList(size_t in_count, size_t const in_vertices[], float const in_indices[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following arrays.
in_vertices – The indices of the vertices on which to set the colors.
in_indices – The material indices to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByList(size_t in_count, size_t const in_vertices[], float in_index, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_index – The material index to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByList(SizeTArray const &in_vertices, float in_index, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_index – The material index to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByList(SizeTArray const &in_vertices, FloatArray const &in_indices, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indices – The material indices to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByRange(size_t in_start, FloatArray const &in_indices, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_indices – The material indices to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByRange(size_t in_start, size_t in_count, float const in_indices[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_indices – The material indices to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexIndexColorsByRange(size_t in_start, size_t in_count, float in_index, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_count – The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_index – The material index to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByList(size_t in_count, size_t const in_vertices[], Vector const &in_normal)
Sets a single normal on a selection of arbitrary vertices.
- Parameters
in_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the normal. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normal – The normal to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByList(size_t in_count, size_t const in_vertices[], Vector const in_normals[])
Sets vertex normals on a selection of arbitrary vertices.
- Parameters
in_count – Size of the following arrays.
in_vertices – The indices of the vertices on which to set the normals. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normals – The normals to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByList(SizeTArray const &in_vertices, Vector const &in_normal)
Sets a single normal on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to set the normal. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normal – The normal to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByList(SizeTArray const &in_vertices, VectorArray const &in_normals)
Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the normals. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normals – The normals to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByRange(size_t in_start, size_t in_count, Vector const &in_normal)
Sets a single normal on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting the normal. This value must be such that in_start<point_count for setting to succeed.
in_count – The number of vertices on which to set the normal. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_normal – The normal to set on the vertices for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByRange(size_t in_start, size_t in_count, Vector const in_normals[])
Sets vertex normals on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_normals – The normals to set on the vertices for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexNormalsByRange(size_t in_start, VectorArray const &in_normals)
Sets vertex normals on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.
in_normals – The normals to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=point_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexParametersByList(size_t in_vertex_count, size_t const in_vertices[], size_t in_param_count, float const in_params[], size_t in_param_width = 2)
Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.
- Parameters
in_vertex_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_param_count – Size of the following array. This should be divisible by the parameter width, if it is not, some parameters will get ignored.
in_params – The texture parameters to set on the vertices for this ShellKey.
in_param_width – The number of texture parameters per vertex. Defaults to 2.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexParametersByList(SizeTArray const &in_vertices, FloatArray const &in_params, size_t in_param_width = 2)
Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_params – The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.
in_param_width – The number of texture parameters per vertex. Defaults to 2.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexParametersByRange(size_t in_start, FloatArray const &in_params, size_t in_param_width = 2)
Sets texture parameters on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.
in_params – The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. The size of the array must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.
in_param_width – The number of texture parameters per vertex. Defaults to 2.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexParametersByRange(size_t in_start, size_t in_param_count, float const in_params[], size_t in_param_width = 2)
Sets texture parameters on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.
in_param_count – Size of the following array. This should be divisible by the parameter width, if it is not, some parameters will get ignored. This value must be such that in_start+in_param_count/in_param_width<=point_count for the setting to succeed.
in_params – The texture parameters to set on the vertices for this ShellKey.
in_param_width – The number of texture parameters per vertex. Defaults to 2.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByList(size_t in_count, size_t const in_vertices[], RGBAColor const &in_rgba_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_color – The RGBA color to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByList(size_t in_count, size_t const in_vertices[], RGBAColor const in_rgba_colors[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following arrays.
in_vertices – The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colors – The RGBA colors to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByList(SizeTArray const &in_vertices, RGBAColor const &in_rgba_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_color – The RGBA color to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByList(SizeTArray const &in_vertices, RGBAColorArray const &in_rgba_colors, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colors – The RGBA colors to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByRange(size_t in_start, RGBAColorArray const &in_rgba_colors, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_rgba_colors – The RGBA colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgba_colors.size()<=point_count for the setting to succeed.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByRange(size_t in_start, size_t in_count, RGBAColor const &in_rgba_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_count – The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgba_color – The RGBA color to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBAColorsByRange(size_t in_start, size_t in_count, RGBAColor const in_rgba_colors[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgba_colors – The RGBA colors to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByList(size_t in_count, size_t const in_vertices[], RGBColor const &in_rgb_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_color – The RGB color to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByList(size_t in_count, size_t const in_vertices[], RGBColor const in_rgb_colors[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_count – Size of the following arrays.
in_vertices – The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByList(SizeTArray const &in_vertices, RGBColor const &in_rgb_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.
- Parameters
in_vertices – The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_color – The RGB color to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByList(SizeTArray const &in_vertices, RGBColorArray const &in_rgb_colors, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the vertices.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByRange(size_t in_start, RGBColorArray const &in_rgb_colors, Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_rgb_colors – The RGB colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByRange(size_t in_start, size_t in_count, RGBColor const &in_rgb_color, Shell::Component in_apply_to = Shell::Component::Faces)
Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_count – The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgb_color – The RGB color to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexRGBColorsByRange(size_t in_start, size_t in_count, RGBColor const in_rgb_colors[], Shell::Component in_apply_to = Shell::Component::Faces)
Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgb_colors – The RGB colors to set on the vertices for this ShellKey.
in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByList(size_t in_count, size_t const in_vertices[], bool const in_visibilities[])
Sets vertex visibilities on a selection of arbitrary vertices.
- Parameters
in_count – Size of the following arrays.
in_vertices – The indices of the vertices on which to set the visibilities. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilities – The visibilities to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByList(size_t in_count, size_t const in_vertices[], bool in_visibility)
Sets a single visibility on a selection of arbitrary vertices.
- Parameters
in_count – Size of the following array.
in_vertices – The indices of the vertices on which to set the visibility. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibility – The visibility to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByList(SizeTArray const &in_vertices, bool in_visibility)
Sets a single visibility on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to set the visibility. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibility – The visibility to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByList(SizeTArray const &in_vertices, BoolArray const &in_visibilities)
Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.
- Parameters
in_vertices – The indices of the vertices on which to set the visibilities. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilities – The visibilities to set on the vertices.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByRange(size_t in_start, BoolArray const &in_visibilities)
Sets vertex visibilities on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.
in_visibilities – The visibilities to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=point_count for the setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByRange(size_t in_start, size_t in_count, bool const in_visibilities[])
Sets vertex visibilities on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.
in_count – Size of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_visibilities – The visibilities to set on the vertices for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &SetVertexVisibilitiesByRange(size_t in_start, size_t in_count, bool in_visibility)
Sets a single visibility on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start setting the visibility. This value must be such that in_start<point_count for setting to succeed.
in_count – The number of vertices on which to set the visibility. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_visibility – The visibility to set on the vertices for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey()
The default constructor creates an uninitialized ShellKey object. The Type() function will return Type::None.
-
explicit ShellKey(Key const &in_that)
This constructor creates an ShellKey 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 shell key. Otherwise the copy will fail and the resulting ShellKey will be invalid.
- Parameters
in_key – The source Key to copy.
-
ShellKey(ShellKey &&in_that)
The move constructor creates a ShellKey by transferring the underlying impl of the rvalue reference to this ShellKey thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a ShellKey to take the impl from.
-
ShellKey(ShellKey const &in_that)
The copy constructor creates a ShellKey object that shares the underlying smart-pointer of the source ShellKey.
- Parameters
in_that – The source ShellKey to copy.
-
void Show(ShellKit &out_kit) const
Copy the contents of this ShellKey into the specified kit.
- Parameters
out_kit – The kit to populate with the contents of this ShellKey.
-
bool ShowEdgeColors(SizeTArray &out_vertices1, SizeTArray &out_vertices2, HPS::MaterialTypeArray &out_types, HPS::RGBColorArray &out_rgb_colors, HPS::FloatArray &out_indices)
Sets edge colors on a selection of arbitrary edges.
- Parameters
out_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed.
out_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed.
out_types – The types of edge colors for each edge.
out_rgb_colors – The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is RGBColor.
out_indices – The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is MaterialIndex.
- Returns
A reference to this ShellKey.
-
bool ShowEdgeColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, HPS::MaterialTypeArray &out_types, HPS::RGBColorArray &out_rgb_colors, HPS::FloatArray &out_indices)
Sets edge colors on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
out_types – The types of edge colors for each edge.
out_rgb_colors – The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material::Type::RGBColor.
out_indices – The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material::Type::MaterialIndex.
- Returns
A reference to this ShellKey.
-
bool ShowEdgeVisibilitiesByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, BoolArray &out_validities, BoolArray &out_visibilities) const
Shows all the edge visibilities on this ShellKey.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
out_validities – The validities of the visibilities for each edge. If an edge has a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The edge visibilities for each edge. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any vertex had a vertex visibility set, false otherwise.
-
bool ShowFaceColors(MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, FloatArray &out_indices) const
Shows the face colors on ShellKey.
- Parameters
out_types – The types of face colors for each face. If a face does not have a face color set, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each face. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_indices – The material indices for each face. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any face had a face color set, false otherwise.
-
bool ShowFaceColorsByList(SizeTArray const &in_faces, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, FloatArray &out_indices) const
Shows the face colors on a selection of arbitrary faces. The order of the values in the ouput arrays is the same as the input face index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the face at index in_faces[i].
- Parameters
in_faces – The indices of the faces on which to show the colors. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_types – The types of face colors for each face at the specified index. If a face at a specified index does not have a face color set, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_indices – The material indices for each face at the specified index. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any specified face had a face color set, false otherwise.
-
bool ShowFaceColorsByRange(size_t in_start, size_t in_count, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, FloatArray &out_indices) const
Shows the face colors on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start showing colors. This value must be such that in_start<face_count for showing to succeed.
in_count – The number of colors to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_types – The types of face colors for each face in the specified range. If a face in the specified range does not have a face color set, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_indices – The material indices for each face in the specified range. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any face in the specified range had a face color set, false otherwise.
-
bool ShowFacelist(IntArray &out_facelist) const
Show the face list for this ShellKey.
- Parameters
out_facelist – The face list for this ShellKey.
- Returns
true if face list was set, false otherwise.
-
bool ShowFaceNormals(BoolArray &out_validities, VectorArray &out_normals) const
Shows all the face normals for this ShellKey.
- Parameters
out_validities – The validities of the normals for each face. If a face had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The face normals for each face. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any face had a face normal set, false otherwise.
-
bool ShowFaceNormalsByList(SizeTArray const &in_faces, BoolArray &out_validities, VectorArray &out_normals) const
Shows the face normals on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].
- Parameters
in_faces – The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_validities – The validities of the normals for each face at the specified index. If a face at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The face normals for each face at the specified index. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any specified face had a face normal set, false otherwise.
-
bool ShowFaceNormalsByRange(size_t in_start, size_t in_count, BoolArray &out_validities, VectorArray &out_normals) const
Shows the face normals on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.
in_count – The number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_validities – The validities of the normals for each face in the specified range. If a face in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The face normals for each face in the specified range. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any face in the specified range had a face normal set, false otherwise.
-
bool ShowFaceVisibilities(BoolArray &out_validities, BoolArray &out_visibilities) const
Shows all the face visibilities on this ShellKey.
- Parameters
out_validities – The validities of the visibilities for each face. If a face had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The face visibilities for each face. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any face had a face visibility set, false otherwise.
-
bool ShowFaceVisibilitiesByList(SizeTArray const &in_faces, BoolArray &out_validities, BoolArray &out_visibilities) const
Shows the face visibilities on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the face at index in_faces[i].
- Parameters
in_faces – The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_validities – The validities of the normals for each face at the specified index. If a face at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The face visibilities for each face at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any specified face had a face visibility set, false otherwise.
-
bool ShowFaceVisibilitiesByRange(size_t in_start, size_t in_count, BoolArray &out_validities, BoolArray &out_visibilities) const
Shows the face visibilities on a range of faces starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start showing visibilities. This value must be such that in_start<face_count for showing to succeed.
in_count – The number of visibilities to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_validities – The validities of the visibilities for each face in the specified range. If a face in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The face visibilities for each face in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any face in the specified range had a face visibility set, false otherwise.
-
bool ShowMaterialMapping(MaterialMappingKit &out_kit) const
Shows the material mappings set on this ShellKey. These are the “global” material settings, not the per-vertex and per-face material settings.
- Parameters
out_kit – The material mappings set on this ShellKey.
- Returns
true if material mappings were set, false otherwise.
-
bool ShowNetFaceNormalsByList(SizeTArray const &in_faces, VectorArray &out_normals) const
Shows the effective face normals on a selection of arbitrary faces. If a normal for a given face is unspecified, this will retrieve the effective normal. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].
- Parameters
in_faces – The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_normals – The face normals for each face at the specified index.
- Returns
true if no errors were encountered, false otherwise.
-
bool ShowNetFaceNormalsByRange(size_t in_start, size_t in_count, VectorArray &out_normals) const
Shows the effective face normals on a range of faces starting at the specified offset. If a normal for a given face is unspecified, this will retrieve the effective normal.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.
in_count – The number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_normals – The face normals for each face in the specified range.
- Returns
true if no errors were encountered, false otherwise.
-
bool ShowNetVertexNormals(VectorArray &out_normals, Drawing::Handedness in_polygon_handedness = Drawing::Handedness::None) const
Shows the all net vertex normals on this ShellKey.
- Parameters
out_normals – The vertex normals for each vertex.
in_polygon_handedness – The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.
- Returns
true if no errors were encountered, false otherwise.
-
bool ShowNetVertexNormalsByRange(size_t in_start, size_t in_count, VectorArray &out_normals, Drawing::Handedness in_polygon_handedness = Drawing::Handedness::None) const
Shows the net vertex normals on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_normals – The vertex normals for each vertex in the specified range.
in_polygon_handedness – The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.
- Returns
true if no errors were encountered, false otherwise.
-
bool ShowPoints(PointArray &out_points) const
Show the points for this ShellKey.
- Parameters
out_points – The points for this ShellKey.
- Returns
true if points were set, false otherwise.
-
bool ShowPointsByList(size_t in_count, size_t const in_indices[], PointArray &out_points) const
Show a subset of the points for this ShellKey by list.
- Parameters
in_count – The number of points to show.
in_indices – The list of point indices to show.
out_points – The requested points for this ShellKey.
- Returns
true if all requested points were set, false otherwise.
-
bool ShowPointsByList(SizeTArray const &in_indices, PointArray &out_points) const
Show a subset of the points for this ShellKey by list.
- Parameters
in_indices – The list of point indices to show.
out_points – The requested points for this ShellKey.
- Returns
true if all requested points were set, false otherwise.
-
bool ShowPointsByRange(size_t in_start_index, size_t in_count, PointArray &out_points) const
Show a subset of the points for this ShellKey by range.
- Parameters
in_start_index – The first point to show.
in_count – The number of points to show.
out_points – The requested points for this ShellKey.
- Returns
true if all requested points were set, false otherwise.
-
bool ShowTristrips(IntArray &out_tristrips) const
Show the tristrips list for this ShellKey. A tristrip is defined internally as three points which form a triangle, followed by another point for each additional triangle in the strip. The points that make up a shell may be divided into multiple tristrips. For example, if a shell contains two tristrips - one with 3 triangles and one with 4 - this function will return the data in the following format: [5, a, b, c, d, e, 6, f, g, h, i, j, k] where the numbers indicate how many of the subsequent array entries make up the current tristrip, and the letters are indices into the shell’s array of points.
- Parameters
out_tristrips – The tristrip list for this ShellKey.
- Returns
true if tristrips list was set, false otherwise.
-
bool ShowTristrips(IntArray &out_tristrips, IntArray &out_face_indices) const
Show the tristrips list for this ShellKey. A tristrip is defined internally as three points which form a triangle, followed by another point for each additional triangle in the strip. The points that make up a shell may be divided into multiple tristrips. For example, if a shell contains two tristrips - one with 3 triangles and one with 4 - this function will return the data in the following format: [5, a, b, c, d, e, 6, f, g, h, i, j, k] where the numbers indicate how many of the subsequent array entries make up the current tristrip, and the letters are indices into the shell’s array of points. The out_face_indices contains one entry for each triangle in out_tristrips. Each entry indicates which face the corresponding triangle in out_tristrips belongs to.
- Parameters
out_tristrips – The tristrip list for this ShellKey.
out_face_indices – The corresponding face indices for each triangle in the tristrip list.
- Returns
true if tristrips list was set, false otherwise.
-
bool ShowVertexColors(Shell::Component in_apply_to, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, RGBAColorArray &out_rgba_colors, FloatArray &out_indices) const
Shows all the vertex colors on the specified shell component.
- Parameters
in_apply_to – The shell component the colors should apply to.
out_types – The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified shell component, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_rgba_colors – The RGBA colors for each vertex. out_rgba_colors[i] is only valid if out_types[i] is Material::Type::RGBAColor.
out_indices – The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any vertex colors were shown, false otherwise.
-
bool ShowVertexColorsByList(SizeTArray const &in_vertices, Shell::Component in_apply_to, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, RGBAColorArray &out_rgba_colors, FloatArray &out_indices) const
Shows the vertex colors on a selection of arbitrary vertices which apply to the specified shell component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].
- Parameters
in_vertices – The indices of the vertices on which to show the colors. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
in_apply_to – The shell component the colors should apply to.
out_types – The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_rgba_colors – The RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material::Type::RGBAColor.
out_indices – The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any specified vertex had a vertex color on the specified component set, false otherwise.
-
bool ShowVertexColorsByRange(size_t in_start, size_t in_count, Shell::Component in_apply_to, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, RGBAColorArray &out_rgba_colors, FloatArray &out_indices) const
Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified shell component.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing colors. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of colors to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
in_apply_to – The shell component the colors should apply to.
out_types – The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified shell component, the entry in this array will be Material::Type::None.
out_rgb_colors – The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::RGBColor.
out_rgba_colors – The RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material::Type::RGBAColor.
out_indices – The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material::Type::MaterialIndex.
- Returns
true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.
-
bool ShowVertexNormals(BoolArray &out_validities, VectorArray &out_normals) const
Shows all the vertex normals on this ShellKey.
- Parameters
out_validities – The validities of the normals for each vertex. If a vertex had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The vertex normals for each vertex. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any vertex normals were shown, false otherwise.
-
bool ShowVertexNormalsByList(SizeTArray const &in_vertices, BoolArray &out_validities, VectorArray &out_normals) const
Shows the vertex normals on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the vertex at index in_vertices[i].
- Parameters
in_vertices – The indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validities – The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The vertex normals for each vertex at the specified index. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any specified vertex had a vertex normal set, false otherwise.
-
bool ShowVertexNormalsByRange(size_t in_start, size_t in_count, BoolArray &out_validities, VectorArray &out_normals) const
Shows the vertex normals on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validities – The validities of the normals for each vertex in the specified range. If a vertex in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.
out_normals – The vertex normals for each vertex in the specified range. out_normals[i] is only valid if out_validities[i] is true.
- Returns
true if any vertex in the specified range had a vertex normal set, false otherwise.
-
bool ShowVertexParameters(BoolArray &out_validities, FloatArray &out_params) const
Shows the texture parameters for all of the vertices on this ShellKey. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.
- Parameters
out_validities – The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
- Returns
true if any vertex had a texture parameter set, false otherwise.
-
bool ShowVertexParameters(BoolArray &out_validities, FloatArray &out_params, size_t &out_param_width) const
Shows the texture parameters for all of the vertices on this ShellKey.
- Parameters
out_validities – The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
out_param_width – The number of texture parameters per vertex.
- Returns
true if any vertex had a texture parameter set, false otherwise.
-
bool ShowVertexParametersByList(SizeTArray const &in_vertices, BoolArray &out_validities, FloatArray &out_params) const
Shows the texture parameters on a selection of arbitrary vertices. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_vertices.size(). The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].
- Parameters
in_vertices – The indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validities – The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
- Returns
true if any specified vertex had a texture parameter set, false otherwise.
-
bool ShowVertexParametersByList(SizeTArray const &in_vertices, BoolArray &out_validities, FloatArray &out_params, size_t &out_param_width) const
Shows the texture parameters on a selection of arbitrary vertices. The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].
- Parameters
in_vertices – The indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validities – The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
out_param_width – The number of texture parameters per vertex.
- Returns
true if any specified vertex had a texture parameter set, false otherwise.
-
bool ShowVertexParametersByRange(size_t in_start, size_t in_count, BoolArray &out_validities, FloatArray &out_params) const
Shows the texture parameters on a range of vertices starting at the specified offset. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validities – The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
- Returns
true if any vertex in the specified range had a texture parameter set, false otherwise.
-
bool ShowVertexParametersByRange(size_t in_start, size_t in_count, BoolArray &out_validities, FloatArray &out_params, size_t &out_param_width) const
Shows the texture parameters on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validities – The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.
out_params – The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.
out_param_width – The number of texture parameters per vertex.
- Returns
true if any vertex in the specified range had a texture parameter set, false otherwise.
-
bool ShowVertexVisibilities(BoolArray &out_validities, BoolArray &out_visibilities) const
Shows all the vertex visibilities on this ShellKey.
- Parameters
out_validities – The validities of the visibilities for each vertex. If a vertex had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The vertex visibilities for each vertex. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any vertex had a vertex visibility set, false otherwise.
-
bool ShowVertexVisibilitiesByList(SizeTArray const &in_vertices, BoolArray &out_validities, BoolArray &out_visibilities) const
Shows the vertex visibilities on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the vertex at index in_vertices[i].
- Parameters
in_vertices – The indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validities – The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The vertex visibilities for each vertex at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any specified vertex had a vertex visibility set, false otherwise.
-
bool ShowVertexVisibilitiesByRange(size_t in_start, size_t in_count, BoolArray &out_validities, BoolArray &out_visibilities) const
Shows the vertex visibilities on a range of vertices starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start showing visibilities. This value must be such that in_start<point_count for showing to succeed.
in_count – The number of visibilities to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validities – The validities of the visibilities for each vertex in the specified range. If a vertex in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.
out_visibilities – The vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.
- Returns
true if any vertex in the specified range had a vertex visibility set, false otherwise.
-
ShellKey &UnsetEdgeColorsByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[])
Unsets edge colors on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEdgeColorsByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2)
Unsets edge colors on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEdgeEverything()
Removes all edge settings (edge colors and edge visibilities) from this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEdgeVisibilities()
Removes all edge visibility settings.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEdgeVisibilitiesByList(size_t in_count, size_t const in_vertices1[], size_t const in_vertices2[])
Unsets edge visibilities on a selection of arbitrary edges.
- Parameters
in_count – Size of the following arrays.
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEdgeVisibilitiesByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2)
Unsets edge visibilities on a selection of arbitrary edges.
- Parameters
in_vertices1 – The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_vertices2 – The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetEverything()
Removes all settings from this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceColors()
Removes all face colors (RGB colors or material indices).
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceColorsByList(size_t in_count, size_t const in_faces[])
Removes the face visibilities on a selection of arbitrary faces.
-
ShellKey &UnsetFaceColorsByList(SizeTArray const &in_vertices)
Removes the face colors (RGB colors or material indices) on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the faces on which to remove the colors. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceColorsByRange(size_t in_start, size_t in_count)
Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start removing colors. This value must be such that in_start<face_count for removal to succeed.
in_count – The number of face colors to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceEverything()
Removes all face settings (face colors, face normals, and face visibilities) from this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFacelist()
Removes the face list for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceNormalsByList(SizeTArray const &in_vertices)
Removes the face normals on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to remove the normals. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceNormalsByRange(size_t in_start, size_t in_count)
Removes the specified range of face normals starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start removing normals. This value must be such that in_start<face_count for removal to succeed.
in_count – The number of face normals to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceVisibilities()
Removes all face visibilities.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceVisibilitiesByList(size_t in_count, size_t const in_faces[])
Removes the face visibilities on a selection of arbitrary faces.
-
ShellKey &UnsetFaceVisibilitiesByList(SizeTArray const &in_vertices)
Removes the face visibilities on a selection of arbitrary faces.
- Parameters
in_faces – The indices of the faces on which to remove the visibilities. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetFaceVisibilitiesByRange(size_t in_start, size_t in_count)
Removes the specified range of face visibilities starting at the specified offset.
- Parameters
in_start – The offset into the faces for this ShellKey at which to start removing visibilities. This value must be such that in_start<face_count for removal to succeed.
in_count – The number of face visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetMaterialMapping()
Removes all material mappings on this ShellKey. This removes the “global” material settings and does not affect per-vertex or per-face materials.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetPoints()
Removes the points for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetTristrips()
Removes the tristrips list for this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColors()
Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all shell components.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColors(Shell::Component in_apply_to)
Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component.
- Parameters
in_apply_to – The shell component for which to remove the colors.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColorsByList(size_t in_count, size_t const in_vertices[])
Removes the vertex visibilities on a selection of arbitrary vertices.
-
ShellKey &UnsetVertexColorsByList(size_t in_count, size_t const in_vertices[], Shell::Component in_apply_to)
Removes the vertex visibilities on a selection of arbitrary vertices.
-
ShellKey &UnsetVertexColorsByList(SizeTArray const &in_vertices)
Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all shell components on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColorsByList(SizeTArray const &in_vertices, Shell::Component in_apply_to)
Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
in_apply_to – The shell component for which to remove the colors.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColorsByRange(size_t in_start, size_t in_count)
Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all shell components starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.
in_count – The number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexColorsByRange(size_t in_start, size_t in_count, Shell::Component in_apply_to)
Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.
in_count – The number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
in_apply_to – The shell component for which to remove the colors.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexEverything()
Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this ShellKey.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexNormalsByList(SizeTArray const &in_vertices)
Removes the vertex normals on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to remove the normals. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexNormalsByRange(size_t in_start, size_t in_count)
Removes the specified range of vertex normals starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start removing normals. This value must be such that in_start<point_count for removal to succeed.
in_count – The number of vertex normals to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexParameters()
Removes all texture parameters.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexParametersByList(SizeTArray const &in_vertices)
Removes the texture parameters on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to remove the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexParametersByRange(size_t in_start, size_t in_count)
Removes the specified range of texture parameters starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start removing texture parameters. This value must be such that in_start<point_count for removal to succeed.
in_count – The number of texture parameters to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexVisibilities()
Removes all vertex visibilities.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexVisibilitiesByList(size_t in_count, size_t const in_vertices[])
Removes the vertex visibilities on a selection of arbitrary vertices.
-
ShellKey &UnsetVertexVisibilitiesByList(SizeTArray const &in_vertices)
Removes the vertex visibilities on a selection of arbitrary vertices.
- Parameters
in_vertices – The indices of the vertices on which to remove the visibilities. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
- Returns
A reference to this ShellKey.
-
ShellKey &UnsetVertexVisibilitiesByRange(size_t in_start, size_t in_count)
Removes the specified range of vertex visibilities starting at the specified offset.
- Parameters
in_start – The offset into the vertices for this ShellKey at which to start removing visibilities. This value must be such that in_start<point_count for removal to succeed.
in_count – The number of vertex visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
- Returns
A reference to this ShellKey.
-
~ShellKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::ShellKey
-
void ComputeRelation(PointArray const &in_points, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const