# ShellKit

class ShellKit : public HPS::Kit

  The ShellKit class is a user space object. It is the kit analog to a ShellKey.

  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)

    Copies the source ShellKit into this ShellKit and resets the source kit.

    Parameters:

      in_kit – The source ShellKit to consume.

  ShellKit &EditFacelistByDeletion(size_t in_offset, size_t in_count)

    Removes faces from the face list for this ShellKit. 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 ShellKit.

  ShellKit &EditFacelistByInsertion(size_t in_offset, IntArray const &in_facelist)

    Adds faces to the face list for this ShellKit.

    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 ShellKit.

  ShellKit &EditFacelistByInsertion(size_t in_offset, size_t in_count, int const in_facelist[])

    Adds faces to the face list for this ShellKit.

    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 ShellKit.

  ShellKit &EditFacelistByReplacement(size_t in_offset, IntArray const &in_facelist)

    Replaces faces in the face list for this ShellKit.

    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 ShellKit.

  ShellKit &EditFacelistByReplacement(size_t in_offset, size_t in_count, int const in_facelist[])

    Replaces faces in the face list for this ShellKit.

    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 ShellKit.

  ShellKit &EditPointsByDeletion(size_t in_offset, size_t in_count)

    Removes points from the point list for this ShellKit. Any existing faces which reference points which are being deleted will be removed. Additionally, any vertex attributes 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 ShellKit.

  ShellKit &EditPointsByInsertion(size_t in_offset, PointArray const &in_points)

    Adds points to the point list for this ShellKit. 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 ShellKit.

  ShellKit &EditPointsByInsertion(size_t in_offset, size_t in_count, Point const in_points[])

    Adds points to the point list for this ShellKit. 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 ShellKit.

  ShellKit &EditPointsByReplacement(size_t in_offset, PointArray const &in_points)

    Replaces points in the point list for this ShellKit. 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 ShellKit.

  ShellKit &EditPointsByReplacement(size_t in_offset, size_t in_count, Point const in_points[])

    Replaces points in the point list for this ShellKit. 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 ShellKit.

  virtual bool Empty() const

    Indicates whether this ShellKit has any values set on it.

    Returns:

      true if no values are set on this ShellKit, false otherwise.

  bool Equals(ShellKit const &in_kit) const

    Check if the source ShellKit is equivalent to this ShellKit.

    Parameters:

      in_kit – The source ShellKit to compare to this ShellKit.

    Returns:

      true if the objects are equivalent, false otherwise.

  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.

  bool operator!=(ShellKit const &in_kit) const

    Check if the source ShellKit is not equivalent to this ShellKit.

    Parameters:

      in_kit – The source ShellKit to compare to this ShellKit.

    Returns:

      true if the objects are not equivalent, false otherwise.

  ShellKit &operator=(ShellKit &&in_that)

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

    Parameters:

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

    Returns:

      A reference to this ShellKit.

  ShellKit &operator=(ShellKit const &in_kit)

    Copies the source ShellKit into this ShellKit.

    Parameters:

      in_kit – The source ShellKit to copy.

    Returns:

      A reference to this ShellKit.

  bool operator==(ShellKit const &in_kit) const

    Check if the source ShellKit is equivalent to this ShellKit.

    Parameters:

      in_kit – The source ShellKit to compare to this ShellKit.

    Returns:

      true if the objects are equivalent, false otherwise.

  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)

    Copies the source ShellKit into this ShellKit.

    Parameters:

      in_kit – The source ShellKit to copy.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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.

      - in_indices – The material indices to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_index – The material index to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_index – The material index to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_indices – The material indices to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_indices – The material indices to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_count – Size of the following array.

      - in_indices – The material indices to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the color.

      - in_count – The number of faces on which to set the color.

      - in_index – The material index to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetFacelist(IntArray const &in_facelist)

    Sets the face list for this ShellKit.

    Parameters:

      in_facelist – The face list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetFacelist(size_t in_count, int const in_facelist[])

    Sets the face list for this ShellKit.

    Parameters:

      - in_count – Size of the following array.

      - in_facelist – The face list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normal – The normal to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normals – The normals to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normal – The normal to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normals – The normals to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the normal.

      - in_count – The number of faces on which to set the normal.

      - in_normal – The normal to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting normals.

      - in_count – Size of the following array.

      - in_normals – The normals to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting normals.

      - in_normals – The normals to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_rgb_color – The RGB color to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_rgb_colors – The RGB colors to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_rgb_color – The RGB color to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_rgb_colors – The RGB colors to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_rgb_colors – The RGB colors to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the color.

      - in_count – The number of faces on which to set the color.

      - in_rgb_color – The RGB color to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_count – Size of the following array.

      - in_rgb_colors – The RGB colors to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibilities – The visibilities to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibility – The visibility to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibility – The visibility to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibilities – The visibilities to set on the faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting visibilities.

      - in_visibilities – The visibilities to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting visibilities.

      - in_count – Size of the following array.

      - in_visibilities – The visibilities to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the visibility.

      - in_count – The number of faces on which to set the visibility.

      - in_visibility – The visibility to set on the faces for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetMaterialMapping(MaterialMappingKit const &in_kit)

    Sets the specified material mappings on this ShellKit. If this kit is used to insert a shell, only face, back face, cut edge, cut face, edge, and vertex materials will be set on the inserted 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.

    Parameters:

      in_kit – The material mappings to set on this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetPoints(PointArray const &in_points)

    Sets the points for this ShellKit.

    Parameters:

      in_points – The points for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetPoints(size_t in_count, Point const in_points[])

    Sets the points for this ShellKit.

    Parameters:

      - in_count – Size of the following array.

      - in_points – The points for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetPriority(int in_priority)

    Assigns a specific drawing priority value to the ShellKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

    See also

    SubwindowKit::SetPriority()

    See also

    SubwindowKit::SetRenderingAlgorithm()

    Parameters:

      in_priority – The drawing priority, higher priority items are drawn on top of lower priority items.

    Returns:

      A reference to this object.

  ShellKit &SetTristrips(IntArray const &in_tristrips)

    Sets the triangle strips for this ShellKit.

    Parameters:

      in_tristrips – The tristrips list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetTristrips(size_t in_count, int const in_tristrips[])

    Sets the triangle strips for this ShellKit.

    Parameters:

      - in_count – Size of the following array.

      - in_tristrips – The tristrips list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &SetUserData(intptr_t in_index, ByteArray const &in_data)

    Sets user data on this kit.

    Parameters:

      - in_index – The index of the user data to set.

      - in_data – The bytes of user data to set.

    Returns:

      A reference to this kit.

  ShellKit &SetUserData(intptr_t in_index, size_t in_bytes, byte const in_data[])

    Sets user data on this kit.

    Parameters:

      - in_index – The index of the user data to set.

      - in_bytes – The number of bytes of user data to set.

      - in_data – The bytes of user data to set.

    Returns:

      A reference to this kit.

  ShellKit &SetUserData(IntPtrTArray const &in_indices, ByteArrayArray const &in_data)

    Sets user data on this kit.

    Parameters:

      - in_indices – An array of user data indices to set.

      - in_data – An array of bytes of user data to set.

    Returns:

      A reference to this kit.

  ShellKit &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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_indices – The material indices to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_count – Size of the following array.

      - in_indices – The material indices to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the color.

      - in_count – The number of vertices on which to set the color.

      - in_index – The material index to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normal – The normal to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normals – The normals to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normal – The normal to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_normals – The normals to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the normal.

      - in_count – The number of vertices on which to set the normal.

      - in_normal – The normal to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting normals.

      - in_count – Size of the following array.

      - in_normals – The normals to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting normals.

      - in_normals – The normals to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - 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 ShellKit.

      - in_param_width – The number of texture parameters per vertex. Defaults to 2.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_params – The texture parameters to set on the vertices for this ShellKit. 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 ShellKit.

  ShellKit &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 ShellKit at which to start setting texture parameters.

      - in_params – The texture parameters to set on the vertices for this ShellKit. 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 ShellKit.

  ShellKit &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 ShellKit at which to start setting texture parameters.

      - 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 ShellKit.

      - in_param_width – The number of texture parameters per vertex. Defaults to 2.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_rgba_colors – The RGBA colors to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the color.

      - in_count – The number of vertices on which to set the color.

      - in_rgba_color – The RGBA color to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_count – Size of the following array.

      - in_rgba_colors – The RGBA colors to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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.

      - 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 ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_rgb_colors – The RGB colors to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the color.

      - in_count – The number of vertices on which to set the color.

      - in_rgb_color – The RGB color to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting colors.

      - in_count – Size of the following array.

      - in_rgb_colors – The RGB colors to set on the vertices for this ShellKit.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibilities – The visibilities to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibility – The visibility to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibility – The visibility to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_visibilities – The visibilities to set on the vertices.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting visibilities.

      - in_visibilities – The visibilities to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting visibilities.

      - in_count – Size of the following array.

      - in_visibilities – The visibilities to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start setting the visibility.

      - in_count – The number of vertices on which to set the visibility.

      - in_visibility – The visibility to set on the vertices for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit()

    The default constructor creates an empty ShellKit object.

  ShellKit(ShellKit &&in_that)

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

    Parameters:

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

  ShellKit(ShellKit const &in_kit)

    The copy constructor creates a new ShellKit object that contains the same settings as the source ShellKit.

    Parameters:

      in_kit – The source ShellKit to copy.

  void Show(ShellKit &out_kit) const

    Copies this ShellKit into the given ShellKit.

    Parameters:

      out_kit – The ShellKit to populate with the contents of this ShellKit.

  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 ShellKit.

  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 ShellKit.

  bool ShowEdgeVisibilitiesByList(SizeTArray const &in_vertices1, SizeTArray const &in_vertices2, BoolArray &out_validities, BoolArray &out_visibilities) const

    Shows all the edge visibilities on this ShellKit.

    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 all the face colors on this ShellKit.

    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.

      - 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 ShellKit at which to start showing colors.

      - in_count – The number of colors to show.

      - 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 ShellKit.

    Parameters:

      out_facelist – The face list for this ShellKit.

    Returns:

      true if face list was set, false otherwise.

  bool ShowFaceNormals(BoolArray &out_validities, VectorArray &out_normals) const

    Shows the all face normals on this ShellKit.

    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.

      - 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 ShellKit at which to start showing normals.

      - in_count – The number of normals to show.

      - 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 ShellKit.

    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.

      - 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 ShellKit at which to start showing visibilities.

      - in_count – The number of visibilities to show.

      - 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 ShellKit. These are the “global” material settings, not the per-vertex and per-face material settings.

    Parameters:

      out_kit – The material mappings set on this ShellKit.

    Returns:

      true if material mappings were set, false otherwise.

  bool ShowPoints(PointArray &out_points) const

    Show the points for this ShellKit.

    Parameters:

      out_points – The points for this ShellKit.

    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 ShellKit 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 ShellKit.

    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 ShellKit by list.

    Parameters:

      - in_indices – The list of point indices to show.

      - out_points – The requested points for this ShellKit.

    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 ShellKit 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 ShellKit.

    Returns:

      true if all requested points were set, false otherwise.

  bool ShowPriority(int &out_priority) const

    Shows the drawing priority.

    Parameters:

      out_priority – The drawing priority, higher priority items are drawn on top of lower priority items.

    Returns:

      true if the setting is valid, false otherwise.

  bool ShowTristrips(IntArray &out_tristrips) const

    Show the tristrips list for this ShellKit. 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 face list for this ShellKit.

    Returns:

      true if tristrips list was set, false otherwise.

  bool ShowUserData(intptr_t in_index, ByteArray &out_data) const

    Shows the user data at a given index for this kit.

    Parameters:

      - in_index – The index of the user data to show.

      - out_data – The user data at the given index.

    Returns:

      true if there is user data at the given index, false otherwise.

  bool ShowUserData(IntPtrTArray &out_indices, ByteArrayArray &out_data) const

    Shows all user data for this kit.

    Parameters:

      - out_indices – An array of all user data indices set on this kit.

      - out_data – An array of all user data set on this kit.

    Returns:

      true if there is user data on this kit, false otherwise.

  size_t ShowUserDataCount() const

    Get the number of user data indices set on this kit.

  bool ShowUserDataIndices(IntPtrTArray &out_indices) const

    Shows the indices of all user data set on this kit.

    Parameters:

      out_indices – The user data indices set on this kit.

    Returns:

      The number of user data indices set on this kit.

  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.

      - 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 ShellKit at which to start showing colors.

      - in_count – The number of colors to show.

      - 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 ShellKit.

    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.

      - 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 ShellKit at which to start showing normals.

      - in_count – The number of normals to show.

      - 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 on all of the vertices in this ShellKit. 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 on all of the vertices in this ShellKit.

    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.

      - 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.

      - 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 ShellKit at which to start showing texture parameters.

      - in_count – The number of vertices for which to show the texture parameters.

      - 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 ShellKit at which to start showing texture parameters.

      - in_count – The number of vertices for which to show the texture parameters.

      - 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 ShellKit

    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.

      - 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 ShellKit at which to start showing visibilities.

      - in_count – The number of visibilities to show.

      - 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.

  ShellKit &UnsetAllUserData()

    Removes all user data from this kit.

    Returns:

      A reference to this kit.

  ShellKit &UnsetEdgeColors()

    Unsets edge colors on all 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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &UnsetEdgeEverything()

    Removes all edge settings (edge colors and edge visibilities) from this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetEdgeVisibilities()

    Removes all edge visibility settings.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &UnsetEverything()

    Removes all settings from this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceColors()

    Removes all face colors (RGB colors or material indices).

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceColorsByList(size_t in_count, size_t const in_faces[])

    Removes the face visibilities on a selection of arbitrary faces.

    Parameters:

      - in_count – The number of face visibilities to remove for this ShellKit.

      - in_faces – The indices of the faces on which to remove the visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceColorsByList(SizeTArray const &in_faces)

    Removes the face colors (RGB colors or material indices) on a selection of arbitrary vertices.

    Parameters:

      in_faces – The indices of the faces on which to remove the colors.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing colors.

      - in_count – The number of face colors to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceEverything()

    Removes all face settings (face colors, face normals, and face visibilities) from this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFacelist()

    Removes the face list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceNormals()

    Removes all face normals.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing normals.

      - in_count – The number of face normals to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceVisibilities()

    Removes all face visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetFaceVisibilitiesByList(size_t in_count, size_t const in_faces[])

    Removes the face visibilities on a selection of arbitrary faces.

    Parameters:

      - in_count – The number of face visibilities to remove for this ShellKit.

      - in_faces – The indices of the faces on which to remove the visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing visibilities.

      - in_count – The number of face visibilities to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetMaterialMapping()

    Removes all material mappings on this ShellKit. This removes the “global” material settings and does not affect per-vertex or per-face materials.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetPoints()

    Removes the points for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetPriority()

    Removes a drawing priority setting.

    Returns:

      A reference to this object.

  ShellKit &UnsetTristrips()

    Removes the tristrips list for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetUserData(intptr_t in_index)

    Removes the user data at the given index from this kit.

    Parameters:

      in_index – The index of the user data to remove.

    Returns:

      A reference to this kit.

  ShellKit &UnsetUserData(IntPtrTArray const &in_indices)

    Removes the user data at the given indices from this kit.

    Parameters:

      in_indices – The indices of the user data to remove.

    Returns:

      A reference to this kit.

  ShellKit &UnsetUserData(size_t in_count, intptr_t const in_indices[])

    Removes the user data at the given indices from this kit.

    Parameters:

      - in_count – The size of the following array.

      - in_indices – The indices of the user data to remove.

    Returns:

      A reference to this kit.

  ShellKit &UnsetVertexColors()

    Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all shell components.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit.

  ShellKit &UnsetVertexColorsByList(size_t in_count, size_t const in_vertices[])

    Removes the vertex visibilities on a selection of arbitrary vertices.

    Parameters:

      - in_count – The number of vertex visibilities to remove for this ShellKit.

      - in_faces – The indices of the vertices on which to remove the visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Parameters:

      - in_count – The number of vertex visibilities to remove for this ShellKit.

      - in_faces – The indices of the vertices on which to remove the visibilities.

      - in_apply_to – The shell component the colors should apply to. Defaults to Shell::Component::Faces.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

      - in_apply_to – The shell component for which to remove the colors.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing colors.

      - in_count – The number of vertex colors to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing colors.

      - in_count – The number of vertex colors to remove for this ShellKit.

      - in_apply_to – The shell component for which to remove the colors.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetVertexEverything()

    Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetVertexNormals()

    Removes all vertex normals.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing normals.

      - in_count – The number of vertex normals to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetVertexParameters()

    Removes all texture parameters.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing texture parameters.

      - in_count – The number of texture parameters to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetVertexVisibilities()

    Removes all vertex visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &UnsetVertexVisibilitiesByList(size_t in_count, size_t const in_vertices[])

    Removes the vertex visibilities on a selection of arbitrary vertices.

    Parameters:

      - in_count – The number of vertex visibilities to remove for this ShellKit.

      - in_faces – The indices of the vertices on which to remove the visibilities.

    Returns:

      A reference to this ShellKit.

  ShellKit &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.

    Returns:

      A reference to this ShellKit.

  ShellKit &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 ShellKit at which to start removing visibilities.

      - in_count – The number of vertex visibilities to remove for this ShellKit.

    Returns:

      A reference to this ShellKit.

  virtual ~ShellKit()

  Public Static Attributes

  static const HPS::Type staticType = HPS::Type::ShellKit

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating