OpenCMISS-Zinc C++ API Documentation
|
The tessellation controls the number of polygons or line segments. More...
#include <tessellation.hpp>
Public Types | |
enum | ChangeFlag { CHANGE_FLAG_NONE = CMZN_TESSELLATION_CHANGE_FLAG_NONE, CHANGE_FLAG_ADD = CMZN_TESSELLATION_CHANGE_FLAG_ADD, CHANGE_FLAG_REMOVE = CMZN_TESSELLATION_CHANGE_FLAG_REMOVE, CHANGE_FLAG_IDENTIFIER = CMZN_TESSELLATION_CHANGE_FLAG_IDENTIFIER, CHANGE_FLAG_DEFINITION = CMZN_TESSELLATION_CHANGE_FLAG_DEFINITION, CHANGE_FLAG_FULL_RESULT = CMZN_TESSELLATION_CHANGE_FLAG_FULL_RESULT, CHANGE_FLAG_FINAL = CMZN_TESSELLATION_CHANGE_FLAG_FINAL } |
typedef int | ChangeFlags |
Public Member Functions | |
Tessellation (cmzn_tessellation_id in_tessellation_id) | |
Tessellation (const Tessellation &tessellation) | |
Tessellation & | operator= (const Tessellation &tessellation) |
bool | isValid () const |
cmzn_tessellation_id | getId () const |
bool | isManaged () |
int | setManaged (bool value) |
int | getCircleDivisions () |
int | setCircleDivisions (int circleDivisions) |
char * | getName () |
int | setName (const char *name) |
int | getMinimumDivisions (int valuesCount, int *valuesOut) |
int | setMinimumDivisions (int valuesCount, const int *valuesIn) |
int | getRefinementFactors (int valuesCount, int *valuesOut) |
int | setRefinementFactors (int valuesCount, const int *valuesIn) |
Protected Attributes | |
cmzn_tessellation_id | id |
The tessellation controls the number of polygons or line segments.
The tessellation controls the number of polygons or line segments used to draw element surfaces and lines, and circular forms in graphics; the density of point sampling and the piecewise linear approximation of elements generally.
typedef int OpenCMISS::Zinc::Tessellation::ChangeFlags |
Type for passing logical OR of ChangeFlag
Bit flags summarising changes to a tessellation or tessellations in a tessellationmodule.
|
inline |
Gets the number of line segments used to approximate circles in graphics produced with this tessellation. This applies to lines with a circle profile, and to sphere, cylinder and other glyphs with circular features.
|
inline |
Return the C handle of the Tessellation object.
|
inline |
Gets the minimum number of line segments used to approximate curves in each element dimension for coarse tessellation.
valuesCount | The size of the minimum_divisions array to fill. Values for dimensions beyond the size set use the last divisions value. |
valuesOut | Array to receive numbers of divisions. |
|
inline |
Return an allocated string containing tessellation name.
|
inline |
Gets the refinements to be used in product with the minimum divisions to approximate curves in each element dimension for fine tessellation.
valuesCount | The size of the refinement_factors array to fill. Values for dimensions beyond the size set use the last refinement value. |
valuesOut | Array to receive refinement factors. |
|
inline |
Get managed status of tessellation in its owning tessellation module.
|
inline |
Check if this is a valid Tessellation object.
|
inline |
Sets the number of line segments used to approximate circles in graphics produced with this tessellation. This applies to lines with a circle profile, and to sphere, cylinder and other glyphs with circular features.
circleDivisions | The number of line segments used to approximate a a circle, at least 3, but larger even numbers are recommended. |
|
inline |
Set managed status of tessellation in its owning tessellation module. If set (managed) the tessellation will remain indefinitely in the tessellation module even if no external references are held. If not set (unmanaged) the tessellation will be automatically removed from the module when no longer referenced externally, effectively marking it as pending destruction. All new objects are unmanaged unless stated otherwise.
value | The new value for the managed flag: true or false. |
|
inline |
Sets the minimum number of line segments used to approximate curves in each element dimension of tessellation. Intended to be used where coarse tessellation is acceptable, e.g. where fields vary linearly over elements. The default minimum_divisions value for new tessellations is 1, size 1. Note: The value set for the last dimension applies to all higher dimensions.
valuesCount | The size of the valuesIn array, >= 1. |
valuesIn | Array of number of divisions (>=1) for each dimension, with the last number in array applying to all higher dimensions. |
|
inline |
Set/change name for tessellation. Must be unique in the tessellation module.
name | name to be set to the tessellation |
|
inline |
Sets the refinements to be used in product with the minimum divisions to approximate curves in each element dimension for fine tessellation. The refinement factors are applied whenever the basis functions of the graphics coordinate field (replaced by tessellation field if specified) are non-linear anywhere. If there is no tessellation field or if it matches the coordinate field, a non-linear coordinate system also triggers refinement. The default refinement_factors value for new tessellations is 1, size 1. Note: The value set for the last dimension applies to all higher dimensions.
valuesCount | The size of the refinement_factors array, >= 1. |
valuesIn | Array of number of fine subdivisions (>=1) per minimum_division for each dimension, with the last number in array applying to all higher dimensions. |