CylinderKey

class HPS.CylinderKey : public HPS.GeometryKey

The CylinderKey class is a smart pointer to a database object. It is a handle to a cylinder inserted via SegmentKey.InsertCylinder.

Public Functions

void Consume (HPS.CylinderKit in_kit)

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

Param in_kit

The kit from which to get the settings to replace on this CylinderKey.

CylinderKey ()

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

CylinderKey (HPS.CylinderKey in_that)

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

Param in_that

The source CylinderKey to copy.

CylinderKey (HPS.Key in_that)

This constructor creates a CylinderKey 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 Cylinder key. Otherwise the copy will fail and the resulting CylinderKey will be invalid.

override void Dispose ()
HPS.CylinderKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylinder at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the cylinder. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylinder at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylidner at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByDeletion (ulong in_offset, ulong in_count)

Removes radii from the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylinder at which to start removing radii. This value must be such that in_offset<radius_count for deletion to succeed.

Param in_count

The number of radii to delete from the radius list for the cylinder. This value must be such that in_offset+in_count<=radius_count for the deletion to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByInsertion (ulong in_offset, float[] in_radii)

Adds radii to the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylinder at which to insert radii. This value must be such that in_offset<radius_count for insertion to succeed.

Param in_radii

The radii to insert into the radius list at the specified offset.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByReplacement (ulong in_offset, float[] in_radii)

Replaces radii in the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylidner at which to start replacing radii. This value must be such that in_offset<radius_count for replacement to succeed.

Param in_radii

The radii to use to replace those in the radius list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=radius_count for the replacement to succeed.

Return

A reference to this CylinderKey.

ulong GetPointCount ()

Retrieves the number of points in this cylinder.

Return

The number of points in this cylinder.

override HPS.Type ObjectType ()

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Return

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

void Set (HPS.CylinderKit in_kit)

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

Param in_kit

The kit from which to get the settings to replace on this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_index

The material index to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Cylinder.Component in_apply_to)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Cylinder.Component in_apply_to)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Cylinder.Component in_apply_to)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this CylinderKey.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Cylinder.Component in_apply_to)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this CylinderKey.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

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

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Param in_apply_to

The shell component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKey.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKey.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

void Show (out HPS.CylinderKit out_kit)

Copy the contents of this CylinderKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CylinderKey.

bool ShowCaps (out HPS.Cylinder.Capping out_caps)

Show the capping for this CylinderKey.

Param out_caps

The capping for this CylinderKey.

Return

true if a capping was set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this CylinderKey.

Param out_points

The points for this CylinderKey.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this CylinderKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this CylinderKey.

Return

true if all requested points were set, false otherwise.

bool ShowRadii (out float[] out_radii)

Show the radii for this CylinderKey.

Param out_radii

The radii for this CylinderKey.

Return

true if radii were set, false otherwise.

bool ShowVertexColors (HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows all the vertex colors of the specified cylinder component.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified cylinder 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], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start showing colors. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of colors to show. This value must be such that in_start+in_count<=point_count for showing to succeed.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

HPS.CylinderKey UnsetVertexColors ()

Removes all vertex colors (RGB colors or material indices) for all cylinder components.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColors (HPS.Cylinder.Component in_apply_to)

Removes all vertex colors (RGB colors or material indices) for the specified cylinder component.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Param in_apply_to

The cylinder component that should be unset.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByRange (ulong in_start, ulong in_count)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start removing colors. This value must be such that in_start<point_count for unsetting to succeed.

Param in_count

The number of vertex colors to remove for this CylinderKey. This value must be such that in_start+in_count<=point_count for unsetting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to)

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

Param in_start

The offset into the vertices for this CylinderKey at which to start removing colors. This value must be such that in_start<point_count for unsetting to succeed.

Param in_count

The number of vertex colors to remove for this CylinderKey. This value must be such that in_start+in_count<=point_count for unsetting to succeed.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKey.