< Home

< Table of Contents

REFERENCE MANUAL

ShellKey Class Reference

#include <hps.h>

Inheritance diagram for ShellKey:
GeometryKey Key Object

Public Member Functions

void ComputeRelation (PointArray const &in_points, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
 
void ComputeRelation (ShellKey const &in_points_source, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
 
void ComputeRelation (ShellKit const &in_points_source, ShellRelationOptionsKit const &in_options, ShellRelationResultsKit &out_results) const
 
void Consume (ShellKit &in_kit)
 
ShellKeyEditFacelistByDeletion (size_t in_offset, size_t in_count)
 
ShellKeyEditFacelistByInsertion (size_t in_offset, size_t in_count, int const in_facelist[])
 
ShellKeyEditFacelistByInsertion (size_t in_offset, IntArray const &in_facelist)
 
ShellKeyEditFacelistByReplacement (size_t in_offset, size_t in_count, int const in_facelist[])
 
ShellKeyEditFacelistByReplacement (size_t in_offset, IntArray const &in_facelist)
 
ShellKeyEditPointsByDeletion (size_t in_offset, size_t in_count)
 
ShellKeyEditPointsByInsertion (size_t in_offset, size_t in_count, Point const in_points[])
 
ShellKeyEditPointsByInsertion (size_t in_offset, PointArray const &in_points)
 
ShellKeyEditPointsByReplacement (size_t in_offset, size_t in_count, Point const in_points[])
 
ShellKeyEditPointsByReplacement (size_t in_offset, PointArray const &in_points)
 
size_t GetFaceCount () const
 
size_t GetPointCount () const
 
Type ObjectType () const
 
ShellKeyoperator= (ShellKey const &other)
 
ShellKeyoperator= (ShellKey &&in_that)
 
void Optimize (ShellOptimizationOptionsKit const &in_shell_optimization_kit)
 
void Set (ShellKit const &in_kit)
 
ShellKeySetFaceIndexColorsByList (size_t in_count, size_t const in_faces[], float const in_indices[])
 
ShellKeySetFaceIndexColorsByList (SizeTArray const &in_faces, FloatArray const &in_indices)
 
ShellKeySetFaceIndexColorsByList (size_t in_count, size_t const in_faces[], float in_index)
 
ShellKeySetFaceIndexColorsByList (SizeTArray const &in_faces, float in_index)
 
ShellKeySetFaceIndexColorsByRange (size_t in_start, size_t in_count, float const in_indices[])
 
ShellKeySetFaceIndexColorsByRange (size_t in_start, FloatArray const &in_indices)
 
ShellKeySetFaceIndexColorsByRange (size_t in_start, size_t in_count, float in_index)
 
ShellKeySetFacelist (IntArray const &in_facelist)
 
ShellKeySetFacelist (size_t in_count, int const in_facelist[])
 
ShellKeySetFaceNormalsByList (size_t in_count, size_t const in_faces[], Vector const in_normals[])
 
ShellKeySetFaceNormalsByList (SizeTArray const &in_faces, VectorArray const &in_normals)
 
ShellKeySetFaceNormalsByList (size_t in_count, size_t const in_faces[], Vector const &in_normal)
 
ShellKeySetFaceNormalsByList (SizeTArray const &in_faces, Vector const &in_normal)
 
ShellKeySetFaceNormalsByRange (size_t in_start, size_t in_count, Vector const in_normals[])
 
ShellKeySetFaceNormalsByRange (size_t in_start, VectorArray const &in_normals)
 
ShellKeySetFaceNormalsByRange (size_t in_start, size_t in_count, Vector const &in_normal)
 
ShellKeySetFaceRGBColorsByList (size_t in_count, size_t const in_faces[], RGBColor const in_rgb_colors[])
 
ShellKeySetFaceRGBColorsByList (SizeTArray const &in_faces, RGBColorArray const &in_rgb_colors)
 
ShellKeySetFaceRGBColorsByList (size_t in_count, size_t const in_faces[], RGBColor const &in_rgb_color)
 
ShellKeySetFaceRGBColorsByList (SizeTArray const &in_faces, RGBColor const &in_rgb_color)
 
ShellKeySetFaceRGBColorsByRange (size_t in_start, size_t in_count, RGBColor const in_rgb_colors[])
 
ShellKeySetFaceRGBColorsByRange (size_t in_start, RGBColorArray const &in_rgb_colors)
 
ShellKeySetFaceRGBColorsByRange (size_t in_start, size_t in_count, RGBColor const &in_rgb_color)
 
ShellKeySetFaceVisibilitiesByList (size_t in_count, size_t const in_faces[], bool const in_visibilities[])
 
ShellKeySetFaceVisibilitiesByList (SizeTArray const &in_faces, BoolArray const &in_visibilities)
 
ShellKeySetFaceVisibilitiesByList (size_t in_count, size_t const in_faces[], bool in_visibility)
 
ShellKeySetFaceVisibilitiesByList (SizeTArray const &in_faces, bool in_visibility)
 
ShellKeySetFaceVisibilitiesByRange (size_t in_start, size_t in_count, bool const in_visibilities[])
 
ShellKeySetFaceVisibilitiesByRange (size_t in_start, BoolArray const &in_visibilities)
 
ShellKeySetFaceVisibilitiesByRange (size_t in_start, size_t in_count, bool in_visibility)
 
ShellKeySetMaterialMapping (MaterialMappingKit const &in_kit)
 
ShellKeySetPoints (PointArray const &in_points)
 
ShellKeySetPoints (size_t in_count, Point const in_points[])
 
ShellKeySetVertexIndexColorsByList (size_t in_count, size_t const in_vertices[], float const in_indices[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByList (SizeTArray const &in_vertices, FloatArray const &in_indices, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByList (size_t in_count, size_t const in_vertices[], float in_index, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByList (SizeTArray const &in_vertices, float in_index, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByRange (size_t in_start, size_t in_count, float const in_indices[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByRange (size_t in_start, FloatArray const &in_indices, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexIndexColorsByRange (size_t in_start, size_t in_count, float in_index, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexNormalsByList (size_t in_count, size_t const in_vertices[], Vector const in_normals[])
 
ShellKeySetVertexNormalsByList (SizeTArray const &in_vertices, VectorArray const &in_normals)
 
ShellKeySetVertexNormalsByList (size_t in_count, size_t const in_vertices[], Vector const &in_normal)
 
ShellKeySetVertexNormalsByList (SizeTArray const &in_vertices, Vector const &in_normal)
 
ShellKeySetVertexNormalsByRange (size_t in_start, size_t in_count, Vector const in_normals[])
 
ShellKeySetVertexNormalsByRange (size_t in_start, VectorArray const &in_normals)
 
ShellKeySetVertexNormalsByRange (size_t in_start, size_t in_count, Vector const &in_normal)
 
ShellKeySetVertexParametersByList (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)
 
ShellKeySetVertexParametersByList (SizeTArray const &in_vertices, FloatArray const &in_params, size_t in_param_width=2)
 
ShellKeySetVertexParametersByRange (size_t in_start, size_t in_param_count, float const in_params[], size_t in_param_width=2)
 
ShellKeySetVertexParametersByRange (size_t in_start, FloatArray const &in_params, size_t in_param_width=2)
 
ShellKeySetVertexRGBAColorsByList (size_t in_count, size_t const in_vertices[], RGBAColor const in_rgba_colors[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByList (SizeTArray const &in_vertices, RGBAColorArray const &in_rgba_colors, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByList (size_t in_count, size_t const in_vertices[], RGBAColor const &in_rgba_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByList (SizeTArray const &in_vertices, RGBAColor const &in_rgba_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByRange (size_t in_start, size_t in_count, RGBAColor const in_rgba_colors[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByRange (size_t in_start, RGBAColorArray const &in_rgba_colors, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBAColorsByRange (size_t in_start, size_t in_count, RGBAColor const &in_rgba_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByList (size_t in_count, size_t const in_vertices[], RGBColor const in_rgb_colors[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByList (SizeTArray const &in_vertices, RGBColorArray const &in_rgb_colors, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByList (size_t in_count, size_t const in_vertices[], RGBColor const &in_rgb_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByList (SizeTArray const &in_vertices, RGBColor const &in_rgb_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByRange (size_t in_start, size_t in_count, RGBColor const in_rgb_colors[], Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByRange (size_t in_start, RGBColorArray const &in_rgb_colors, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexRGBColorsByRange (size_t in_start, size_t in_count, RGBColor const &in_rgb_color, Shell::Component in_apply_to=Shell::Component::Faces)
 
ShellKeySetVertexVisibilitiesByList (size_t in_count, size_t const in_vertices[], bool const in_visibilities[])
 
ShellKeySetVertexVisibilitiesByList (SizeTArray const &in_vertices, BoolArray const &in_visibilities)
 
ShellKeySetVertexVisibilitiesByList (size_t in_count, size_t const in_vertices[], bool in_visibility)
 
ShellKeySetVertexVisibilitiesByList (SizeTArray const &in_vertices, bool in_visibility)
 
ShellKeySetVertexVisibilitiesByRange (size_t in_start, size_t in_count, bool const in_visibilities[])
 
ShellKeySetVertexVisibilitiesByRange (size_t in_start, BoolArray const &in_visibilities)
 
ShellKeySetVertexVisibilitiesByRange (size_t in_start, size_t in_count, bool in_visibility)
 
 ShellKey ()
 
 ShellKey (Key const &in_that)
 
 ShellKey (ShellKey const &in_that)
 
 ShellKey (ShellKey &&in_that)
 
void Show (ShellKit &out_kit) const
 
bool ShowFaceColorsByList (SizeTArray const &in_faces, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, FloatArray &out_indices) const
 
bool ShowFaceColorsByRange (size_t in_start, size_t in_count, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, FloatArray &out_indices) const
 
bool ShowFacelist (IntArray &out_facelist) const
 
bool ShowFaceNormalsByList (SizeTArray const &in_faces, BoolArray &out_validities, VectorArray &out_normals) const
 
bool ShowFaceNormalsByRange (size_t in_start, size_t in_count, BoolArray &out_validities, VectorArray &out_normals) const
 
bool ShowFaceVisibilitiesByList (SizeTArray const &in_faces, BoolArray &out_validities, BoolArray &out_visibilities) const
 
bool ShowFaceVisibilitiesByRange (size_t in_start, size_t in_count, BoolArray &out_validities, BoolArray &out_visibilities) const
 
bool ShowMaterialMapping (MaterialMappingKit &out_kit) const
 
bool ShowNetFaceNormalsByList (SizeTArray const &in_faces, VectorArray &out_normals) const
 
bool ShowNetFaceNormalsByRange (size_t in_start, size_t in_count, VectorArray &out_normals) const
 
bool ShowPoints (PointArray &out_points) const
 
bool ShowVertexColorsByList (SizeTArray const &in_vertices, Shell::Component in_applied_to, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, RGBAColorArray &out_rgba_colors, FloatArray &out_indices) const
 
bool ShowVertexColorsByRange (size_t in_start, size_t in_count, Shell::Component in_applied_to, MaterialTypeArray &out_types, RGBColorArray &out_rgb_colors, RGBAColorArray &out_rgba_colors, FloatArray &out_indices) const
 
bool ShowVertexNormalsByList (SizeTArray const &in_vertices, BoolArray &out_validities, VectorArray &out_normals) const
 
bool ShowVertexNormalsByRange (size_t in_start, size_t in_count, BoolArray &out_validities, VectorArray &out_normals) const
 
bool ShowVertexParametersByList (SizeTArray const &in_vertices, BoolArray &out_validities, FloatArray &out_params) const
 
bool ShowVertexParametersByList (SizeTArray const &in_vertices, BoolArray &out_validities, FloatArray &out_params, size_t &out_param_width) const
 
bool ShowVertexParametersByRange (size_t in_start, size_t in_count, BoolArray &out_validities, FloatArray &out_params) const
 
bool ShowVertexParametersByRange (size_t in_start, size_t in_count, BoolArray &out_validities, FloatArray &out_params, size_t &out_param_width) const
 
bool ShowVertexVisibilitiesByList (SizeTArray const &in_vertices, BoolArray &out_validities, BoolArray &out_visibilities) const
 
bool ShowVertexVisibilitiesByRange (size_t in_start, size_t in_count, BoolArray &out_validities, BoolArray &out_visibilities) const
 
ShellKeyUnsetEverything ()
 
ShellKeyUnsetFaceColors ()
 
ShellKeyUnsetFaceColorsByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetFaceColorsByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetFaceEverything ()
 
ShellKeyUnsetFacelist ()
 
ShellKeyUnsetFaceNormals ()
 
ShellKeyUnsetFaceNormalsByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetFaceNormalsByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetFaceVisibilities ()
 
ShellKeyUnsetFaceVisibilitiesByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetFaceVisibilitiesByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetMaterialMapping ()
 
ShellKeyUnsetPoints ()
 
ShellKeyUnsetVertexColors ()
 
ShellKeyUnsetVertexColors (Shell::Component in_apply_to)
 
ShellKeyUnsetVertexColorsByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetVertexColorsByList (SizeTArray const &in_vertices, Shell::Component in_apply_to)
 
ShellKeyUnsetVertexColorsByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetVertexColorsByRange (size_t in_start, size_t in_count, Shell::Component in_apply_to)
 
ShellKeyUnsetVertexEverything ()
 
ShellKeyUnsetVertexNormals ()
 
ShellKeyUnsetVertexNormalsByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetVertexNormalsByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetVertexParameters ()
 
ShellKeyUnsetVertexParametersByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetVertexParametersByRange (size_t in_start, size_t in_count)
 
ShellKeyUnsetVertexVisibilities ()
 
ShellKeyUnsetVertexVisibilitiesByList (SizeTArray const &in_vertices)
 
ShellKeyUnsetVertexVisibilitiesByRange (size_t in_start, size_t in_count)
 
- Public Member Functions inherited from GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
bool ShowBoundings (BoundingKit &out_kit) const
 
bool ShowPriority (int &out_priority) const
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
GeometryKeyUnsetAllUserData ()
 
GeometryKeyUnsetPriority ()
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (Type in_mask) const
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
Type Type () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The ShellKey class is a smart pointer to a database object. It is a handle to a shell created by SegmentKey::InsertShell.

Constructor & Destructor Documentation

ShellKey::ShellKey ( )

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

ShellKey::ShellKey ( Key const &  in_that)
explicit

This constructor creates an ShellKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a shell key. Otherwise the copy will fail and the resulting ShellKey will be invalid.

Parameters
in_keyThe source Key to copy.
ShellKey::ShellKey ( ShellKey const &  in_that)

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

Parameters
in_thatThe source ShellKey to copy.
ShellKey::ShellKey ( ShellKey &&  in_that)

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

Parameters
in_thatAn rvalue reference to a ShellKey to take the impl from.

Member Function Documentation

void ShellKey::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_pointsAn array of points to test against this shell.
in_optionsThe options to use when performing the relation test.
out_resultsThe results of the relation test.
void ShellKey::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_sourceA shell whose points should be tested against this shell.
in_optionsThe options to use when performing the relation test.
out_resultsThe results of the relation test.
void ShellKey::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_sourceA shell whose points should be tested against this shell.
in_optionsThe options to use when performing the relation test.
out_resultsThe results of the relation test.
void ShellKey::Consume ( ShellKit in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this ShellKey.
ShellKey& ShellKey::EditFacelistByDeletion ( size_t  in_offset,
size_t  in_count 
)

Removes faces from the face list for this ShellKey. This will not affect the points referenced by the removed faces, however any face attributes on the removed faces will be lost.

Parameters
in_offsetThe 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_countThe number of faces to remove from the face list for the shell. This value must be such that in_offset+in_count<=face_count for the deletion to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditFacelistByInsertion ( size_t  in_offset,
size_t  in_count,
int const  in_facelist[] 
)

Adds faces to the face list for this ShellKey.

Parameters
in_offsetThe 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_countSize of the following array.
in_pointsThe faces (using the standard face-list encoding) to insert into the face list at the specified offset.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditFacelistByInsertion ( size_t  in_offset,
IntArray const &  in_facelist 
)

Adds faces to the face list for this ShellKey.

Parameters
in_offsetThe 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_pointsThe faces (using the standard face-list encoding) to insert into the face list at the specified offset.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditFacelistByReplacement ( size_t  in_offset,
size_t  in_count,
int const  in_facelist[] 
)

Replaces faces in the face list for this ShellKey.

Parameters
in_offsetThe 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_countSize of the following array.
in_pointsThe faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditFacelistByReplacement ( size_t  in_offset,
IntArray const &  in_facelist 
)

Replaces faces in the face list for this ShellKey.

Parameters
in_offsetThe 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_pointsThe faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditPointsByDeletion ( size_t  in_offset,
size_t  in_count 
)

Removes points from the point list for this ShellKey. Any existing faces which reference points which are being deleted will be removed. Additionally, any vertex settings on the deleted vertices, i.e., colors, normals, parameters, and visibilities, will be removed. The face list will also be updated to reflect the new vertex offsets caused by removing elements from the point list.

Parameters
in_offsetThe 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_countThe number of points to delete from the point list for the shell. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditPointsByInsertion ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Adds points to the point list for this ShellKey. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.

Parameters
in_offsetThe 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_countSize of the following array.
in_pointsThe points to insert into the point list at the specified offset.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditPointsByInsertion ( size_t  in_offset,
PointArray const &  in_points 
)

Adds points to the point list for this ShellKey. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.

Parameters
in_offsetThe 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_pointsThe points to insert into the point list at the specified offset.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditPointsByReplacement ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Replaces points in the point list for this ShellKey. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.

Parameters
in_offsetThe 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_countSize of the following array. This value must be such that in_offset+in_count<=point_count for the replacement to succeed.
in_pointsThe points to use to replace those in the point list at the specified offset.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::EditPointsByReplacement ( size_t  in_offset,
PointArray const &  in_points 
)

Replaces points in the point list for this ShellKey. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.

Parameters
in_offsetThe 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_pointsThe points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.
Returns
A reference to this ShellKey.
size_t ShellKey::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 ShellKey::GetPointCount ( ) const

Retrieves the number of points in this shell.

Returns
The number of points in this shell.
Type ShellKey::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from GeometryKey.

ShellKey& ShellKey::operator= ( ShellKey const &  other)

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

Parameters
in_thatThe source ShellKey for the assignment.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::operator= ( ShellKey &&  in_that)

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

Parameters
in_thatAn rvalue reference to a ShellKey to take the impl from.
Returns
A reference to this ShellKey.
void ShellKey::Optimize ( ShellOptimizationOptionsKit const &  in_shell_optimization_kit)

Optimizes the shell using the parameters set in a ShellOptimizationOptionsKit

Parameters
in_shell_optimization_options_kitThe kit containing the optimization options to use.
void ShellKey::Set ( ShellKit const &  in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByList ( size_t  in_count,
size_t const  in_faces[],
float const  in_indices[] 
)

Sets face material indices on a selection of arbitrary faces.

Parameters
in_countSize of the following arrays.
in_facesThe indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indicesThe material indices to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByList ( SizeTArray const &  in_faces,
FloatArray const &  in_indices 
)

Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.

Parameters
in_facesThe indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indicesThe material indices to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByList ( size_t  in_count,
size_t const  in_faces[],
float  in_index 
)

Sets a single material index on a selection of arbitrary faces.

Parameters
in_countSize of the following array.
in_facesThe indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indexThe material index to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByList ( SizeTArray const &  in_faces,
float  in_index 
)

Sets a single material index on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_indexThe material index to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByRange ( size_t  in_start,
size_t  in_count,
float const  in_indices[] 
)

Sets face material indices on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_indicesThe material indices to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByRange ( size_t  in_start,
FloatArray const &  in_indices 
)

Sets face material indices on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_indicesThe material indices to set on the faces for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=face_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceIndexColorsByRange ( size_t  in_start,
size_t  in_count,
float  in_index 
)

Sets a single material index on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.
in_countThe number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_indexThe material index to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFacelist ( IntArray const &  in_facelist)

Replace the face list on this ShellKey with the specified face list.

Parameters
in_facelistThe face list to use to replace the one for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFacelist ( size_t  in_count,
int const  in_facelist[] 
)

Replace the face list on this ShellKey with the specified face list.

Parameters
in_countSize of the following array.
in_facelistThe face list to use to replace the one for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByList ( size_t  in_count,
size_t const  in_faces[],
Vector const  in_normals[] 
)

Sets face normals on a selection of arbitrary faces.

Parameters
in_countSize of the following arrays.
in_facesThe indices of the faces on which to set the normals. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normalsThe normals to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByList ( SizeTArray const &  in_faces,
VectorArray const &  in_normals 
)

Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.

Parameters
in_facesThe indices of the faces on which to set the normals. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normalsThe normals to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByList ( size_t  in_count,
size_t const  in_faces[],
Vector const &  in_normal 
)

Sets a single normal on a selection of arbitrary faces.

Parameters
in_countSize of the following array.
in_facesThe indices of the faces on which to set the normal. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normalThe normal to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByList ( SizeTArray const &  in_faces,
Vector const &  in_normal 
)

Sets a single normal on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to set the normal. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_normalThe normal to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByRange ( size_t  in_start,
size_t  in_count,
Vector const  in_normals[] 
)

Sets face normals on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_normalsThe normals to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByRange ( size_t  in_start,
VectorArray const &  in_normals 
)

Sets face normals on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.
in_normalsThe normals to set on the faces for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=face_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceNormalsByRange ( size_t  in_start,
size_t  in_count,
Vector const &  in_normal 
)

Sets a single normal on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting the normal. This value must be such that in_start<face_count for setting to succeed.
in_countThe number of faces on which to set the normal. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_normalThe normal to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByList ( size_t  in_count,
size_t const  in_faces[],
RGBColor const  in_rgb_colors[] 
)

Sets face RGB colors on a selection of arbitrary faces.

Parameters
in_countSize of the following arrays.
in_facesThe indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByList ( SizeTArray const &  in_faces,
RGBColorArray const &  in_rgb_colors 
)

Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.

Parameters
in_facesThe indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByList ( size_t  in_count,
size_t const  in_faces[],
RGBColor const &  in_rgb_color 
)

Sets a single RGB color on a selection of arbitrary faces.

Parameters
in_countSize of the following array.
in_facesThe indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colorThe RGB color to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByList ( SizeTArray const &  in_faces,
RGBColor const &  in_rgb_color 
)

Sets a single RGB color on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_rgb_colorThe RGB color to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByRange ( size_t  in_start,
size_t  in_count,
RGBColor const  in_rgb_colors[] 
)

Sets face RGB colors on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_rgb_colorsThe RGB colors to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByRange ( size_t  in_start,
RGBColorArray const &  in_rgb_colors 
)

Sets face RGB colors on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the faces for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=face_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceRGBColorsByRange ( size_t  in_start,
size_t  in_count,
RGBColor const &  in_rgb_color 
)

Sets a single RGB color on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.
in_countThe number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_rgb_colorThe RGB color to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByList ( size_t  in_count,
size_t const  in_faces[],
bool const  in_visibilities[] 
)

Sets face visibilities on a selection of arbitrary faces.

Parameters
in_countSize of the following arrays.
in_facesThe indices of the faces on which to set the visibilities. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilitiesThe visibilities to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByList ( SizeTArray const &  in_faces,
BoolArray const &  in_visibilities 
)

Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.

Parameters
in_facesThe indices of the faces on which to set the visibilities. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilitiesThe visibilities to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByList ( size_t  in_count,
size_t const  in_faces[],
bool  in_visibility 
)

Sets a single visibility on a selection of arbitrary faces.

Parameters
in_countSize of the following array.
in_facesThe indices of the faces on which to set the visibility. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilityThe visibility to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByList ( SizeTArray const &  in_faces,
bool  in_visibility 
)

Sets a single visibility on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to set the visibility. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.
in_visibilityThe visibility to set on the faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByRange ( size_t  in_start,
size_t  in_count,
bool const  in_visibilities[] 
)

Sets face visibilities on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_visibilitiesThe visibilities to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByRange ( size_t  in_start,
BoolArray const &  in_visibilities 
)

Sets face visibilities on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.
in_visibilitiesThe visibilities to set on the faces for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=face_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetFaceVisibilitiesByRange ( size_t  in_start,
size_t  in_count,
bool  in_visibility 
)

Sets a single visibility on a range of faces starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start setting the visibility. This value must be such that in_start<face_count for setting to succeed.
in_countThe number of faces on which to set the visibility. This value must be such that in_start+in_count<=face_count for the setting to succeed.
in_visibilityThe visibility to set on the faces for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetMaterialMapping ( MaterialMappingKit const &  in_kit)

Sets the specified material mappings on this ShellKey. Only face, back face, cut edge, cut face, edge, and vertex materials will be set on the shell. These material settings will be "global" for the shell, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.

Parameters
in_kitThe material mappings to set on this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetPoints ( PointArray const &  in_points)

Replace the points on this ShellKey with the specified points.

Parameters
in_pointsThe points to use to replace those for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetPoints ( size_t  in_count,
Point const  in_points[] 
)

Replace the points on this ShellKey with the specified points.

Parameters
in_countSize of the following array.
in_pointsThe points to use to replace those for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByList ( size_t  in_count,
size_t const  in_vertices[],
float const  in_indices[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following arrays.
in_verticesThe indices of the vertices on which to set the colors.
in_indicesThe material indices to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByList ( SizeTArray const &  in_vertices,
FloatArray const &  in_indices,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indicesThe material indices to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByList ( size_t  in_count,
size_t const  in_vertices[],
float  in_index,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following array.
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indexThe material index to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByList ( SizeTArray const &  in_vertices,
float  in_index,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_indexThe material index to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByRange ( size_t  in_start,
size_t  in_count,
float const  in_indices[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_indicesThe material indices to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByRange ( size_t  in_start,
FloatArray const &  in_indices,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_indicesThe material indices to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexIndexColorsByRange ( size_t  in_start,
size_t  in_count,
float  in_index,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_countThe number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_indexThe material index to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByList ( size_t  in_count,
size_t const  in_vertices[],
Vector const  in_normals[] 
)

Sets vertex normals on a selection of arbitrary vertices.

Parameters
in_countSize of the following arrays.
in_verticesThe indices of the vertices on which to set the normals. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normalsThe normals to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByList ( SizeTArray const &  in_vertices,
VectorArray const &  in_normals 
)

Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the normals. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normalsThe normals to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByList ( size_t  in_count,
size_t const  in_vertices[],
Vector const &  in_normal 
)

Sets a single normal on a selection of arbitrary vertices.

Parameters
in_countSize of the following array.
in_verticesThe indices of the vertices on which to set the normal. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normalThe normal to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByList ( SizeTArray const &  in_vertices,
Vector const &  in_normal 
)

Sets a single normal on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to set the normal. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_normalThe normal to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByRange ( size_t  in_start,
size_t  in_count,
Vector const  in_normals[] 
)

Sets vertex normals on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_normalsThe normals to set on the vertices for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByRange ( size_t  in_start,
VectorArray const &  in_normals 
)

Sets vertex normals on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.
in_normalsThe normals to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=point_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexNormalsByRange ( size_t  in_start,
size_t  in_count,
Vector const &  in_normal 
)

Sets a single normal on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting the normal. This value must be such that in_start<point_count for setting to succeed.
in_countThe number of vertices on which to set the normal. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_normalThe normal to set on the vertices for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexParametersByList ( size_t  in_vertex_count,
size_t const  in_vertices[],
size_t  in_param_count,
float const  in_params[],
size_t  in_param_width = 2 
)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture paramter array (divided by the parameter width) are different, the smaller size will be used.

Parameters
in_vertex_countSize of the following array.
in_verticesThe indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_param_countSize of the following array. This should be divisible by the parameter width, if it is not, some parameters will get ignored.
in_paramsThe texture parameters to set on the vertices for this ShellKey.
in_param_widthThe number of texture parameters per vertex. Defaults to 2.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexParametersByList ( SizeTArray const &  in_vertices,
FloatArray const &  in_params,
size_t  in_param_width = 2 
)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture paramter array (divided by the parameter width) are different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_paramsThe texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.
in_param_widthThe number of texture parameters per vertex. Defaults to 2.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexParametersByRange ( size_t  in_start,
size_t  in_param_count,
float const  in_params[],
size_t  in_param_width = 2 
)

Sets texture parameters on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.
in_param_countSize of the following array. This should be divisible by the parameter width, if it is not, some parameters will get ignored. This value must be such that in_start+in_param_count/in_param_width<=point_count for the setting to succeed.
in_paramsThe texture parameters to set on the vertices for this ShellKey.
in_param_widthThe number of texture parameters per vertex. Defaults to 2.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexParametersByRange ( size_t  in_start,
FloatArray const &  in_params,
size_t  in_param_width = 2 
)

Sets texture parameters on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.
in_paramsThe texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. The size of the array must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.
in_param_widthThe number of texture parameters per vertex. Defaults to 2.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByList ( size_t  in_count,
size_t const  in_vertices[],
RGBAColor const  in_rgba_colors[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following arrays.
in_verticesThe indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colorsThe RGBA colors to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByList ( SizeTArray const &  in_vertices,
RGBAColorArray const &  in_rgba_colors,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colorsThe RGBA colors to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByList ( size_t  in_count,
size_t const  in_vertices[],
RGBAColor const &  in_rgba_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following array.
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colorThe RGBA color to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByList ( SizeTArray const &  in_vertices,
RGBAColor const &  in_rgba_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgba_colorThe RGBA color to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByRange ( size_t  in_start,
size_t  in_count,
RGBAColor const  in_rgba_colors[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgba_colorsThe RGBA colors to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByRange ( size_t  in_start,
RGBAColorArray const &  in_rgba_colors,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_rgba_colorsThe RGBA colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgba_colors.size()<=point_count for the setting to succeed.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBAColorsByRange ( size_t  in_start,
size_t  in_count,
RGBAColor const &  in_rgba_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_countThe number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgba_colorThe RGBA color to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByList ( size_t  in_count,
size_t const  in_vertices[],
RGBColor const  in_rgb_colors[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following arrays.
in_verticesThe indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByList ( SizeTArray const &  in_vertices,
RGBColorArray const &  in_rgb_colors,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByList ( size_t  in_count,
size_t const  in_vertices[],
RGBColor const &  in_rgb_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_countSize of the following array.
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colorThe RGB color to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByList ( SizeTArray const &  in_vertices,
RGBColor const &  in_rgb_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Parameters
in_verticesThe indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_rgb_colorThe RGB color to set on the vertices.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByRange ( size_t  in_start,
size_t  in_count,
RGBColor const  in_rgb_colors[],
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgb_colorsThe RGB colors to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByRange ( size_t  in_start,
RGBColorArray const &  in_rgb_colors,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.
in_rgb_colorsThe RGB colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexRGBColorsByRange ( size_t  in_start,
size_t  in_count,
RGBColor const &  in_rgb_color,
Shell::Component  in_apply_to = Shell::Component::Faces 
)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.
in_countThe number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_rgb_colorThe RGB color to set on the vertices for this ShellKey.
in_apply_toThe shell component the colors should apply to. Defaults to Shell::Component::Faces.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByList ( size_t  in_count,
size_t const  in_vertices[],
bool const  in_visibilities[] 
)

Sets vertex visibilities on a selection of arbitrary vertices.

Parameters
in_countSize of the following arrays.
in_verticesThe indices of the vertices on which to set the visibilities. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilitiesThe visibilities to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByList ( SizeTArray const &  in_vertices,
BoolArray const &  in_visibilities 
)

Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.

Parameters
in_verticesThe indices of the vertices on which to set the visibilities. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilitiesThe visibilities to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByList ( size_t  in_count,
size_t const  in_vertices[],
bool  in_visibility 
)

Sets a single visibility on a selection of arbitrary vertices.

Parameters
in_countSize of the following array.
in_verticesThe indices of the vertices on which to set the visibility. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilityThe visibility to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByList ( SizeTArray const &  in_vertices,
bool  in_visibility 
)

Sets a single visibility on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to set the visibility. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.
in_visibilityThe visibility to set on the vertices.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByRange ( size_t  in_start,
size_t  in_count,
bool const  in_visibilities[] 
)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.
in_countSize of the following array. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_visibilitiesThe visibilities to set on the vertices for this ShellKey.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByRange ( size_t  in_start,
BoolArray const &  in_visibilities 
)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.
in_visibilitiesThe visibilities to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=point_count for the setting to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::SetVertexVisibilitiesByRange ( size_t  in_start,
size_t  in_count,
bool  in_visibility 
)

Sets a single visibility on a range of vertices starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start setting the visibility. This value must be such that in_start<point_count for setting to succeed.
in_countThe number of vertices on which to set the visibility. This value must be such that in_start+in_count<=point_count for the setting to succeed.
in_visibilityThe visibility to set on the vertices for this ShellKey.
Returns
A reference to this ShellKey.
void ShellKey::Show ( ShellKit out_kit) const

Copy the contents of this ShellKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this ShellKey.
bool ShellKey::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_facesThe indices of the faces on which to show the colors. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_typesThe 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::Nothing.
out_rgb_colorsThe RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBColor.
out_indicesThe 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 ShellKey::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_startThe offset into the faces for this ShellKey at which to start showing colors. This value must be such that in_start<face_count for showing to succeed.
in_countThe number of colors to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_typesThe 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::Nothing.
out_rgb_colorsThe RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBColor.
out_indicesThe 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 ShellKey::ShowFacelist ( IntArray &  out_facelist) const

Show the face list for this ShellKey.

Parameters
out_facelistThe face list for this ShellKey.
Returns
true if points were set, false otherwise.
bool ShellKey::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_facesThe indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_validitiesThe 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_normalsThe 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 ShellKey::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_startThe offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.
in_countThe number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_validitiesThe 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_normalsThe 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 ShellKey::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_facesThe indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_validitiesThe 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_visibilitiesThe 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 ShellKey::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_startThe offset into the faces for this ShellKey at which to start showing visibilities. This value must be such that in_start<face_count for showing to succeed.
in_countThe number of visibilities to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_validitiesThe 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_visibilitiesThe 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 ShellKey::ShowMaterialMapping ( MaterialMappingKit out_kit) const

Shows the material mappings set on this ShellKey. These are the "global" material settings, not the per-vertex and per-face material settings.

Parameters
out_kitThe material mappings set on this ShellKey.
Returns
true if material mappings were set, false otherwise.
bool ShellKey::ShowNetFaceNormalsByList ( SizeTArray const &  in_faces,
VectorArray &  out_normals 
) const

Shows the effective face normals on a selection of arbitrary faces. If a normal for a given face is unspecified, this will retrieve the effective normal. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Parameters
in_facesThe indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.
out_normalsThe face normals for each face at the specified index.
Returns
true if no errors were encountered, false otherwise.
bool ShellKey::ShowNetFaceNormalsByRange ( size_t  in_start,
size_t  in_count,
VectorArray &  out_normals 
) const

Shows the effective face normals on a range of faces starting at the specified offset. If a normal for a given face is unspecified, this will retrieve the effective normal.

Parameters
in_startThe offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.
in_countThe number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.
out_normalsThe face normals for each face in the specified range.
Returns
true if no errors were encountered, false otherwise.
bool ShellKey::ShowPoints ( PointArray &  out_points) const

Show the points for this ShellKey.

Parameters
out_pointsThe points for this ShellKey.
Returns
true if points were set, false otherwise.
bool ShellKey::ShowVertexColorsByList ( SizeTArray const &  in_vertices,
Shell::Component  in_applied_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_verticesThe indices of the vertices on which to show the colors. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
in_apply_toThe shell component the colors should apply to.
out_typesThe 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::Nothing.
out_rgb_colorsThe RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBColor.
out_rgba_colorsThe RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBAColor.
out_indicesThe 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 ShellKey::ShowVertexColorsByRange ( size_t  in_start,
size_t  in_count,
Shell::Component  in_applied_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_startThe offset into the vertices for this ShellKey at which to start showing colors. This value must be such that in_start<point_count for showing to succeed.
in_countThe number of colors to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
in_apply_toThe shell component the colors should apply to.
out_typesThe 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::Nothing.
out_rgb_colorsThe RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBColor.
out_rgba_colorsThe RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material::Type::ExplicitRGBAColor.
out_indicesThe 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 ShellKey::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_verticesThe indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validitiesThe 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_normalsThe 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 ShellKey::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_startThe offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.
in_countThe number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validitiesThe 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_normalsThe 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 ShellKey::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_verticesThe indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validitiesThe 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_paramsThe 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 ShellKey::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_verticesThe indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validitiesThe 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_paramsThe 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_widthThe number of texture parameters per vertex.
Returns
true if any specified vertex had a texture parameter set, false otherwise.
bool ShellKey::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_startThe offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.
in_countThe number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validitiesThe 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_paramsThe 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 ShellKey::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_startThe offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.
in_countThe number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validitiesThe 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_paramsThe 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_widthThe number of texture parameters per vertex.
Returns
true if any vertex in the specified range had a texture parameter set, false otherwise.
bool ShellKey::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_verticesThe indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.
out_validitiesThe 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_visibilitiesThe 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 ShellKey::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_startThe offset into the vertices for this ShellKey at which to start showing visibilities. This value must be such that in_start<point_count for showing to succeed.
in_countThe number of visibilities to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.
out_validitiesThe 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_visibilitiesThe vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.
Returns
true if any vertex in the specified range had a vertex visibility set, false otherwise.
ShellKey& ShellKey::UnsetEverything ( )

Removes all settings from this ShellKey.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceColors ( )

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

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceColorsByList ( SizeTArray const &  in_vertices)

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

Parameters
in_facesThe indices of the faces on which to remove the colors. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceColorsByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start removing colors. This value must be such that in_start<face_count for removal to succeed.
in_countThe number of face colors to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceEverything ( )

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

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFacelist ( )

Removes the face list for this ShellKey.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceNormals ( )

Removes all face normals.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceNormalsByList ( SizeTArray const &  in_vertices)

Removes the face normals on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to remove the normals. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceNormalsByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of face normals starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start removing normals. This value must be such that in_start<face_count for removal to succeed.
in_countThe number of face normals to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceVisibilities ( )

Removes all face visibilities.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceVisibilitiesByList ( SizeTArray const &  in_vertices)

Removes the face visibilities on a selection of arbitrary faces.

Parameters
in_facesThe indices of the faces on which to remove the visibilities. Each index in the array must be such that in_faces[i]<face_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetFaceVisibilitiesByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of face visibilities starting at the specified offset.

Parameters
in_startThe offset into the faces for this ShellKey at which to start removing visibilities. This value must be such that in_start<face_count for removal to succeed.
in_countThe number of face visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetMaterialMapping ( )

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

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetPoints ( )

Removes the points for this ShellKey.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColors ( )

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

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColors ( Shell::Component  in_apply_to)

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component.

Parameters
in_apply_toThe shell component for which to remove the colors.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColorsByList ( SizeTArray const &  in_vertices)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all shell components on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColorsByList ( SizeTArray const &  in_vertices,
Shell::Component  in_apply_to 
)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
in_apply_toThe shell component for which to remove the colors.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColorsByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all shell components starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.
in_countThe number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexColorsByRange ( size_t  in_start,
size_t  in_count,
Shell::Component  in_apply_to 
)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.
in_countThe number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
in_apply_toThe shell component for which to remove the colors.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexEverything ( )

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

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexNormals ( )

Removes all vertex normals.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexNormalsByList ( SizeTArray const &  in_vertices)

Removes the vertex normals on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to remove the normals. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexNormalsByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of vertex normals starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start removing normals. This value must be such that in_start<point_count for removal to succeed.
in_countThe number of vertex normals to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexParameters ( )

Removes all texture parameters.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexParametersByList ( SizeTArray const &  in_vertices)

Removes the texture parameters on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to remove the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexParametersByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of texture parameters starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start removing texture parameters. This value must be such that in_start<point_count for removal to succeed.
in_countThe number of texture parameters to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexVisibilities ( )

Removes all vertex visibilities.

Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexVisibilitiesByList ( SizeTArray const &  in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Parameters
in_verticesThe indices of the vertices on which to remove the visibilities. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.
Returns
A reference to this ShellKey.
ShellKey& ShellKey::UnsetVertexVisibilitiesByRange ( size_t  in_start,
size_t  in_count 
)

Removes the specified range of vertex visibilities starting at the specified offset.

Parameters
in_startThe offset into the vertices for this ShellKey at which to start removing visibilities. This value must be such that in_start<point_count for removal to succeed.
in_countThe number of vertex visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.
Returns
A reference to this ShellKey.

The documentation for this class was generated from the following file: