Base class for shell and mesh. More...
#include <BPolyhedron.h>
Public Member Functions | |
TK_Status | AppendObject (BStreamFileToolkit &tk, BBaseOpcodeHandler *obj) |
const float * | GetBounding () const |
double const * | GetDPoints () const |
double * | GetDPoints () |
unsigned int const * | GetExists () const |
unsigned int * | GetExists () |
float const * | GetFaceColors () const |
float * | GetFaceColors () |
unsigned int const * | GetFaceExists () const |
unsigned int * | GetFaceExists () |
float const * | GetFaceIndices () const |
float * | GetFaceIndices () |
int const * | GetFaceRegions () const |
int * | GetFaceRegions () |
ID_Key | GetKey () const |
int | GetPointCount () const |
float const * | GetPoints () const |
float * | GetPoints () |
int | GetPriority () |
unsigned char | GetSubop () const |
unsigned short | GetSubop2 () const |
float const * | GetVertexColors () const |
float * | GetVertexColors () |
float const * | GetVertexEdgeColors () const |
float * | GetVertexEdgeColors () |
float const * | GetVertexEdgeIndices () const |
float * | GetVertexEdgeIndices () |
float const * | GetVertexFaceColors () const |
float * | GetVertexFaceColors () |
float const * | GetVertexFaceIndices () const |
float * | GetVertexFaceIndices () |
float const * | GetVertexIndices () const |
float * | GetVertexIndices () |
float const * | GetVertexMarkerColors () const |
float * | GetVertexMarkerColors () |
float const * | GetVertexMarkerIndices () const |
float * | GetVertexMarkerIndices () |
float const * | GetVertexMarkerRGBAs () const |
float * | GetVertexMarkerRGBAs () |
float const * | GetVertexNormals () const |
float * | GetVertexNormals () |
float const * | GetVertexParameters () const |
float * | GetVertexParameters () |
bool | HasEdgeAttributes () const |
bool | HasEdgeColors () const |
bool | HasEdgeIndices () const |
bool | HasEdgeNormals () const |
bool | HasEdgePatterns () const |
bool | HasEdgeVisibilities () const |
bool | HasEdgeWeights () const |
bool | HasFaceAttributes () const |
bool | HasFaceAttributesCommunicator () const |
bool | HasFaceColors () const |
bool | HasFaceIndices () const |
bool | HasFaceNormals () const |
bool | HasFacePatterns () const |
bool | HasFaceRegions () const |
bool | HasFaceVisibilities () const |
bool | HasOptionals () |
bool | HasOptionalsCommunicator () |
bool | HasVertexAttributes () const |
bool | HasVertexColors () const |
bool | HasVertexEdgeColors () const |
bool | HasVertexEdgeIndices () const |
bool | HasVertexFaceColors () const |
bool | HasVertexFaceIndices () const |
bool | HasVertexIndices () const |
bool | HasVertexMarkerColors () const |
bool | HasVertexMarkerIndices () const |
bool | HasVertexMarkerRGBAs () const |
bool | HasVertexMarkerSizes () const |
bool | HasVertexMarkerSymbols () const |
bool | HasVertexMarkerVisibilities () const |
bool | HasVertexNormals () const |
bool | HasVertexParameters () const |
TK_Status | InitSubop (BStreamFileToolkit &tk, int lodlevel, bool is_firstpass) |
BBaseOpcodeHandler * | PopObject () |
TK_Status | SetBounding (float const bbox[]) |
TK_Status | SetDPoints (int count, double const points[]=0) |
TK_Status | SetEdgeColors (float const colors[]=0) |
TK_Status | SetEdgeExists (unsigned int const vals[]=0) |
TK_Status | SetEdgeIndices (float const indices[]=0) |
TK_Status | SetEdgeNormals (float const normals[]=0) |
TK_Status | SetEdgePatterns (char const *patterns=0) |
TK_Status | SetEdgePatternStrings () |
TK_Status | SetEdgeVisibilities (char const *visibilities=0) |
TK_Status | SetEdgeWeights (float const weights[]=0) |
TK_Status | SetExists (unsigned int const vals[]=0) |
TK_Status | SetFaceColors (float const colors[]=0) |
TK_Status | SetFaceExists (unsigned int const vals[]=0) |
TK_Status | SetFaceIndices (float const indices[]=0) |
TK_Status | SetFaceNormals (float const normals[]=0) |
TK_Status | SetFacePatterns (char const *patterns=0) |
TK_Status | SetFaceRegions (int const regions[]=0) |
TK_Status | SetFaceVisibilities (char const *visibilities=0) |
TK_Status | SetKey (BStreamFileToolkit &tk, ID_Key key) |
informs the TK_Polyhedron of the id by which this piece of geometry is known | |
TK_Status | SetPoints (int count, float const points[]=0) |
void | SetPriority (int priority) |
TK_Status | SetSubop (unsigned char subop) |
TK_Status | SetSubop2 (unsigned short subop2) |
TK_Status | SetVertexColors (float const colors[]=0) |
TK_Status | SetVertexEdgeColors (float const colors[]=0) |
TK_Status | SetVertexEdgeIndices (float const indices[]=0) |
TK_Status | SetVertexFaceColors (float const colors[]=0) |
TK_Status | SetVertexFaceIndices (float const indices[]=0) |
TK_Status | SetVertexIndices (float const indices[]=0) |
TK_Status | SetVertexMarkerColors (float const colors[]=0) |
TK_Status | SetVertexMarkerIndices (float const indices[]=0) |
TK_Status | SetVertexMarkerRGBAs (float const colors[]=0) |
TK_Status | SetVertexMarkerSizes (float const sizes[]=0) |
TK_Status | SetVertexMarkerSymbols (char const *symbols=0) |
TK_Status | SetVertexMarkerSymbolStrings () |
TK_Status | SetVertexMarkerVisibilities (char const *visibilities=0) |
TK_Status | SetVertexNormals (float const normals[]=0) |
TK_Status | SetVertexParameters (float const parameters[]=0, int width=0) |
![]() | |
BBaseOpcodeHandler (int op) | |
virtual TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
virtual TK_Status | Execute (BStreamFileToolkit &tk) |
unsigned char | General_Flags () const |
char const * | GetLoggingString () const |
char * | GetLoggingString () |
virtual TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) |
virtual TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) |
bool | IsCollectionPart () const |
void | LogDebug (BStreamFileToolkit &tk, char const *string=0) |
virtual bool | Match_Instance (BStreamFileToolkit const &tk, Recorded_Instance *instance) |
virtual bool | NeedsContext (BStreamFileToolkit &tk) const |
bool | NeedsTag () const |
unsigned char | Opcode () const |
int | Pass (BStreamFileToolkit &tk) const |
virtual TK_Status | Read (BStreamFileToolkit &tk)=0 |
virtual void | Reset () |
void | Set_General_Flags (int f) |
void | SetCollectionPart (bool n) |
void | SetLoggingString (char const *segment) |
void | SetLoggingString (int length) |
void | SetNeedsTag (bool n) |
TK_Status | Tag (BStreamFileToolkit &tk, int variant=-1) const |
bool | Tagging (BStreamFileToolkit &tk) const |
virtual TK_Status | Write (BStreamFileToolkit &tk)=0 |
![]() | |
void | operator delete (void *p) |
force deallocation to happen in the stream toolkit's scope | |
void * | operator new (size_t size) |
force allocation to happen in the stream toolkit's scope | |
Additional Inherited Members | |
![]() | |
void | add_segment (BStreamFileToolkit &tk, ID_Key key) |
for internal use only | |
void | adjust_written (BStreamFileToolkit &tk, int count) |
for internal use only | |
void | bytes_to_floats (unsigned char const *in, float *out, int count) const |
for internal use only | |
void | decrease_nesting (BStreamFileToolkit &tk, int amount=1) |
for internal use only | |
bool | Find_Instance (BStreamFileToolkit &tk, int val1, int val2, int val3) |
bool | Find_Item (BStreamFileToolkit &tk, ID_Key key) const |
void | floats_to_bytes (float const *in, unsigned char *out, int count) const |
for internal use only | |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, int *rInts, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, char &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, short &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, int &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, float &value) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, float *rFloats, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, char *m_string, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char *m_string, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, int *rInts, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, short *rShorts, unsigned int n) |
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short *rShorts, unsigned int n) |
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned char &value) |
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, int &value) |
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, char &value) |
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned short &value) |
TK_Status | GetAsciiImageData (BStreamFileToolkit &tk, const char *tag, unsigned char *rValues, unsigned int n) |
TK_Status | GetGeneral (BStreamFileToolkit &tk) |
void | increase_nesting (BStreamFileToolkit &tk, int amount=1) |
for internal use only | |
ID_Key | last_key (BStreamFileToolkit &tk) const |
obsolete | |
void | log_opcode (BStreamFileToolkit &tk, unsigned int sequence, unsigned char opcode) |
for internal use only | |
BBaseOpcodeHandler * | Opcode_Handler (BStreamFileToolkit &tk, unsigned char op) const |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const *b, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const *s, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const *i, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const *f, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const *b, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const *s, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const *i, int n) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const &c) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const &s) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const &i) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const &b) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const &s) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const &i) |
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const &f) |
TK_Status | PutAsciiFlag (BStreamFileToolkit &tk, char const *tag, int const &i) |
TK_Status | PutAsciiHex (BStreamFileToolkit &tk, char const *tag, int const &i) |
TK_Status | PutAsciiMask (BStreamFileToolkit &tk, char const *tag, int const &i) |
TK_Status | PutAsciiOpcode (BStreamFileToolkit &tk, int adjust=1, bool is_end=false, bool want_newline=true) |
TK_Status | PutEndXMLTag (BStreamFileToolkit &tk, char const *tag) |
TK_Status | PutGeneral (BStreamFileToolkit &tk) |
TK_Status | PutOpcode (BStreamFileToolkit &tk, int adjust=1) |
TK_Status | PutStartXMLTag (BStreamFileToolkit &tk, char const *tag) |
TK_Status | Read_Referenced_Segment (BStreamFileToolkit &tk, int &i_progress) |
TK_Status | ReadAsciiLine (BStreamFileToolkit &tk, unsigned int *readSize=0) |
TK_Status | ReadAsciiWord (BStreamFileToolkit &tk, unsigned int *readSize=0) |
TK_Status | ReadEndOpcode (BStreamFileToolkit &tk) |
void | Record_Instance (BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const |
void | Remember_Item (BStreamFileToolkit &tk, ID_Key key) const |
ID_Key | remove_segment (BStreamFileToolkit &tk) |
for internal use only | |
bool | RemoveAngularBrackets (char *string) |
bool | RemoveQuotes (char *string) |
void | Revisit (BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const |
void | set_last_key (BStreamFileToolkit &tk, ID_Key key) |
sets the given key as "most recent" on the toolkit for the purposes of associating keys with indices | |
TK_Status | SkipNewlineAndTabs (BStreamFileToolkit &tk, unsigned int *readSize=0) |
bool | validate_count (int count, int limit=1<< 24) const |
![]() | |
static void | fix (int *i, int n) |
for internal use only | |
static void | fix (short *s, int n) |
for internal use only | |
static void | fix_in (float *f, int n) |
for internal use only | |
static void | fix_in (double *d, int n) |
for internal use only | |
static void | fix_out (float *f, int n) |
for internal use only | |
static void | fix_out (double *d, int n) |
for internal use only | |
static short | flip (short s) |
for internal use only | |
static int | flip (int i) |
for internal use only | |
static TK_Status | GetData (BStreamFileToolkit &tk, char *b, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, short *s, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, int *i, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, float *f, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, double *d, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char *b, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short *s, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int *i, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, char &c) |
static TK_Status | GetData (BStreamFileToolkit &tk, short &s) |
static TK_Status | GetData (BStreamFileToolkit &tk, int &i) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char &b) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short &s) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int &i) |
static TK_Status | GetData (BStreamFileToolkit &tk, float &f) |
static TK_Status | GetData (BStreamFileToolkit &tk, double &d) |
static TK_Status | LookatData (BStreamFileToolkit &tk, unsigned char &b) |
static TK_Status | PutData (BStreamFileToolkit &tk, char const *b, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, short const *s, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, int const *i, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, float const *f, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, double const *d, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const *b, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const *s, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const *i, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, char const &c) |
static TK_Status | PutData (BStreamFileToolkit &tk, short const &s) |
static TK_Status | PutData (BStreamFileToolkit &tk, int const &i) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const &b) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const &s) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const &i) |
static TK_Status | PutData (BStreamFileToolkit &tk, float const &f) |
static TK_Status | PutData (BStreamFileToolkit &tk, double const &d) |
static float | read_float (char const *cp, char const **newcpp=0) |
static float | read_float (char const *cp, char **newcpp) |
for internal use only | |
static char * | write_float (char *buffer, double f) |
for internal use only | |
![]() | |
char * | m_ascii_buffer |
int | m_ascii_length |
int | m_ascii_progress |
Tracks the amount of data that has been read/written so far by GetAscii functions. | |
int | m_ascii_size |
int | m_ascii_stage |
unsigned char | m_byte |
temporary | |
char | m_char |
temporary | |
bool | m_collection_part |
Indicates if this object is part of a LOD collection. | |
int | m_debug_allocated |
int | m_debug_length |
char * | m_debug_string |
unsigned char | m_general_flags |
Basic flags common to many handlers. | |
int | m_int |
temporary | |
bool | m_needs_tag |
Indicate if this object explicitly needs tagging. | |
unsigned char | m_opcode |
The opcode being handled by this particular object. | |
int | m_progress |
Tracks the amount of data that has been read/written so far. | |
int | m_stage |
The writing stage. | |
unsigned short | m_unsigned_short |
temporary | |
Base class for shell and mesh.
Shells and Meshes both have attributes that can bind to faces, edges and vertices and may optionally be present. This base class helps allows the two to share the code to parse and execute those features that are common between the two. Refer to ::HC_Insert_Shell and Section 2.8 of the HOOPS/3dGS Programming Guide for more details.
Flags for declaring existence of local edge attributes in mp_edge_exists
Flags for declaring existence of local vertex attributes in mp_exists
Flags for declaring existence of local face attributes in mp_face_exists
The supported optional fields for local attributes. Note: Odd values indicate that an attribute is present on all vertices (or all faces or all edges)
contains the meanings of the bits put into mp_subop mp_subop is a bit field containing information about the shell or mesh.
Enumerator | |
---|---|
TKSH_STANDARD |
no special suboptions |
TKSH_COMPRESSED_POINTS |
points are compressed |
TKSH_COMPRESSED_FACES |
faces are compressed |
TKSH_TRISTRIPS |
face list represents tristrips |
TKSH_HAS_OPTIONALS |
optionals exist; refer to Opt_Opcode |
TKSH_FIRSTPASS |
this is not a refinement of a previously-seen entity |
TKSH_BOUNDING_ONLY |
a bounding box representation only. |
TKSH_CONNECTIVITY_COMPRESSION |
the polyedra is compressed using the 'connectivity compression' algorithm |
TKSH_EXPANDED |
expanded suboptions exist; refer to Suboptions2 |
contains the meanings of the bits put into mp_subop2 mp_subop2 is a bit field containing information about the shell or mesh. It is assumed to be zero unless mp_subop contains the TKSH_EXPANDED bit.
TK_Status TK_Polyhedron::AppendObject | ( | BStreamFileToolkit & | tk, |
BBaseOpcodeHandler * | obj | ||
) |
Adds an object to the set of items to be sent as part of the collection. Caller retains ownership of the object, and is responsible for deleting it during the write phase. This function automatically sets the TKSH2_COLLECTION bit, converting this shell to a collection
tk | the toolkit |
obj | the object to be appended |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Gets the priority to this object
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
TK_Status TK_Polyhedron::InitSubop | ( | BStreamFileToolkit & | tk, |
int | lodlevel, | ||
bool | is_firstpass | ||
) |
initializes some bits in the suboption according to the write flags in the toolkit.
tk | the toolkit. |
lodlevel | which lod variant is to be encoded. |
is_firstpass | indicates whether or not this particular object has been seen before in the file. |
BBaseOpcodeHandler* TK_Polyhedron::PopObject | ( | ) |
Pops an object off the list of collection parts.
|
inline |
Set the bounding box for the object.
bbox | the bounding volume, in order minx,miny,minz,maxx,maxy,maxz |
References TK_Normal.
TK_Status TK_Polyhedron::SetDPoints | ( | int | count, |
double const | points[] = 0 |
||
) |
Allocates the vertex locations, and fills them with the specified values. Be careful not to call this function more than once, as it can cause a memory leak.
count | the number of points in the polyhedron |
points | a pointer to an array of xyz triplets to specify vertex locations. |
TK_Status TK_Polyhedron::SetEdgeColors | ( | float const | colors[] = 0 | ) |
Allocates the edge colors, and fills with values and sets the flags in mp_edge_exists. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified. Note (as with all SetEdge* methods) that if the value for mp_edgecount is unknown (left at its initial value of -1), it is calculated during the process of EnumerateEdges, called from SetEdgeExists, called automatically from this function if necessary.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgeExists | ( | unsigned int const | vals[] = 0 | ) |
Allocates the array of integers on which bits indicate the presence of attributes on edges. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified. Note that if the value for mp_edgecount is unknown (left at its initial value of -1), it is calculated during the process of EnumerateEdges, which is called from within this function.
vals | can be null, in which case colors are left untouched. If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgeIndices | ( | float const | indices[] = 0 | ) |
Allocates the edge colors-by-index, and fills with values and sets the flags in mp_edge_exists. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
indices | can be null, in which case colors-by-index are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgeNormals | ( | float const | normals[] = 0 | ) |
Allocates the edge normals, and fills with values and sets the flags in mp_edge_exists. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
normals | can be null, in which case normals are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgePatterns | ( | char const * | patterns = 0 | ) |
Allocates the edge patterns, and fills with values and sets the flags in mp_edge_exists. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
patterns | can be null, in which case patterns are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgePatternStrings | ( | ) |
Allocates the edge pattern strings, and initializes to empty. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
TK_Status TK_Polyhedron::SetEdgeVisibilities | ( | char const * | visibilities = 0 | ) |
Allocates the edge visibility settings, and fills with values and sets the flags in mp_edge_exists. For each edge, non-zero indicates that that edge is visibile. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
visibilities | can be null, in which case visibility settings are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetEdgeWeights | ( | float const | weights[] = 0 | ) |
Allocates the edge weights, and fills with values and sets the flags in mp_edge_exists. Allocates length of mp_edgecount, regardless of the number of values that are intended to be specified.
weights | can be null, in which case weights are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_edgecount. |
TK_Status TK_Polyhedron::SetExists | ( | unsigned int const | vals[] = 0 | ) |
Allocates the array of integers on which bits indicate the presence of attributes on vertices. Allocates length of mp_pointcount, regardless of the number of values that are intended to be specified.
vals | can be null, in which case colors are left untouched. If non-null, it should be of length mp_pointcount. |
TK_Status TK_Polyhedron::SetFaceColors | ( | float const | colors[] = 0 | ) |
Allocates the face colors, and fills with values and sets the flags in mp_face_exists. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_facecount |
TK_Status TK_Polyhedron::SetFaceExists | ( | unsigned int const | vals[] = 0 | ) |
Allocates the array of integers on which bits indicate the presence of attributes on faces. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified.
vals | can be null, in which case colors are left untouched. If non-null, it should be of length mp_facecount. |
TK_Status TK_Polyhedron::SetFaceIndices | ( | float const | indices[] = 0 | ) |
Allocates the face colors-by-index, and fills with values and sets the flags in mp_face_exists. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified (thus the array size is mp_facecount*sizeof(float))).
indices | can be null, in which case indices are left untouched (assumed to be specified at a later point). If non-null, These values will be copied, and the appropriate bits in mp_face_exists will be updated. |
TK_Status TK_Polyhedron::SetFaceNormals | ( | float const | normals[] = 0 | ) |
Allocates the face normals, and fills with values and sets the flags in mp_face_exists. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified.
normals | can be null, in which case the normals are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_facecount |
TK_Status TK_Polyhedron::SetFacePatterns | ( | char const * | patterns = 0 | ) |
Allocates the face pattern settings (i.e. per face, which pattern to choose), fills with values and sets the flags in mp_face_exists. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified.
patterns | can be null, in which case colors are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_facecount |
TK_Status TK_Polyhedron::SetFaceRegions | ( | int const | regions[] = 0 | ) |
Allocates an array of integers to specify a region identifier per face.
regions | are the identifiers. If set as null, the array will default to all zero |
TK_Status TK_Polyhedron::SetFaceVisibilities | ( | char const * | visibilities = 0 | ) |
Allocates the face visibility settings, fills with values and sets the flags in mp_face_exists. Allocates length of mp_facecount, regardless of the number of values that are intended to be specified.
visibilities | can be null, in which case colors are left untouched (assumed to be specified at a later point). If non-null, it should be of length mp_facecount |
TK_Status TK_Polyhedron::SetPoints | ( | int | count, |
float const | points[] = 0 |
||
) |
Allocates the vertex locations, and fills them with the specified values. Be careful not to call this function more than once, as it can cause a memory leak.
count | the number of points in the polyhedron |
points | a pointer to an array of xyz triplets to specify vertex locations. |
|
inline |
Sets priority to this object
|
inline |
sets the suboption to be used when transmitting. See also InitSubop
subop | a set of bit flags as documented in enum TK_Polyhedron::Suboptions |
References TK_Normal.
|
inline |
sets the 2nd suboption to be used when transmitting. See also InitSubop
subop2 | a set of bit flags as documented in enum TK_Polyhedron::Suboptions2 |
References TK_Normal.
TK_Status TK_Polyhedron::SetVertexColors | ( | float const | colors[] = 0 | ) |
Allocates the vertex colors in all 3 arrays (faces, edges, markers). Also handles setting bits in mp_exists (the existence array) if input is non-null. Equivalent to SetVertexFaceColors, SetVertexFaceColors and SetVertexMarkerColors called in succession. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point. Normally, however, "colors" should refer to the rgb triplets for the values of the vertex colors. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexEdgeColors | ( | float const | colors[] = 0 | ) |
Allocates the vertex colors (as applied to edges), and fills with values and sets the flags in mp_exists. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point. Normally, however, "colors" should refer to the rgb triplets for the values of the vertex colors. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexEdgeIndices | ( | float const | indices[] = 0 | ) |
Allocates the vertex colors-by-index (as applied to edges), and fills with values and sets the flags in mp_exists. Assumes the prior existence of a color table in the current segment. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
indices | can be null, in which case indices are left untouched (assumed to be specified at a later point. Normally, however, "indices" should refer to the color indices (individual floats. Thus, the array size is mp_pointcount*sizeof(float)). These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexFaceColors | ( | float const | colors[] = 0 | ) |
Allocates the vertex colors (as applied to faces), and fills with values and sets the flags in mp_exists. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point. Normally, however, "colors" should refer to the rgb triplets for the values of the vertex colors. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexFaceIndices | ( | float const | indices[] = 0 | ) |
Allocates the vertex colors-by-index (as applied to faces), and fills with values and sets the flags in mp_exists. Assumes the prior existence of a color table in the current segment. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
indices | can be null, in which case the indices are left untouched (assumed to be specified at a later point. Normally, however, "indices" should refer to the color indices (individual floats. Thus, the array size is mp_pointcount*sizeof(float)). These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexIndices | ( | float const | indices[] = 0 | ) |
Allocates the vertex colors-by-index in all 3 arrays (faces, edges, markers). Also handles setting bits in mp_exists (the existence array) if input is non-null. Equivalent to SetVertexFaceIndices, SetVertexFaceIndices and SetVertexMarkerIndices called in succession. All arrays allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
indices | can be null, in which case indices are left untouched (assumed to be specified at a later point. Normally, however, "indices" should refer to the color indices (individual floats. Thus, the array size is mp_pointcount*sizeof(float)). These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexMarkerColors | ( | float const | colors[] = 0 | ) |
Allocates the vertex colors (as applied to markers), and fills with values and sets the flags in mp_exists. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point. Normally, however, "colors" should refer to the rgb triplets for the values of the vertex colors. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexMarkerIndices | ( | float const | indices[] = 0 | ) |
Allocates the vertex colors-by-index (as applied to markers), and fills with values and sets the flags in mp_exists. Assumes the prior existence of a color table either in or inherited by the current segment. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
indices | can be null, in which case indices are left untouched (assumed to be specified at a later point. Normally, however, "indices" should refer to the color indices (individual floats. Thus, the array size is mp_pointcount*sizeof(float)). These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexMarkerRGBAs | ( | float const | colors[] = 0 | ) |
Allocates the vertex rgba colors (as applied to markers), and fills with values and sets the flags in mp_exists. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
colors | can be null, in which case colors are left untouched (assumed to be specified at a later point. Normally, however, "colors" should refer to the rgba quads for the values of the vertex colors. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexMarkerSizes | ( | float const | sizes[] = 0 | ) |
Allocates the vertex marker sizes, and fills with values and sets the flags in mp_exists. Marker sizes are specified as a proportion of their default size. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
sizes | can be null, in which case the contents of the sizes array are left untouched (assumed to be specified at a later point). If non-null, should to be at least of length mp_pointcount |
TK_Status TK_Polyhedron::SetVertexMarkerSymbols | ( | char const * | symbols = 0 | ) |
Allocates the vertex marker symbols, and fills with values and sets the flags in mp_exists. Symbol interpretations are as specified in TKE_Marker_Symbol. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
symbols | can be null, in which case the contents of the symbols array are left untouched (assumed to be specified at a later point). If non-null, should to be at least of length mp_pointcount |
TK_Status TK_Polyhedron::SetVertexMarkerSymbolStrings | ( | ) |
Allocates the vertex marker symbol strings, and initializes to empty. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
TK_Status TK_Polyhedron::SetVertexMarkerVisibilities | ( | char const * | visibilities = 0 | ) |
Allocates the vertex marker visibilities, and fills with values and sets the flags in mp_exists. Allocated to a length of mp_pointcount, regardless of the number of values that are intended to be specified.
visibilities | can be null, in which case the contents of the visibility array are left untouched (assumed to be specified at a later point). If non-null, should to be at least of length mp_pointcount |
TK_Status TK_Polyhedron::SetVertexNormals | ( | float const | normals[] = 0 | ) |
Allocates the vertex normals, and fills with values, and sets the flags in mp_exists.
normals | can be null, in which case normals are left untouched (assumed to be specified at a later point. Normally, however, "normals" should refer to the xyz triplets for the values of the vertex normals. These values will be copied, and the appropriate bits in mp_exists will be updated. |
TK_Status TK_Polyhedron::SetVertexParameters | ( | float const | parameters[] = 0 , |
int | width = 0 |
||
) |
Allocates the vertex parameters (a.k.a. texture coordinates), and fills with values and sets mp_exists.
parameters | can be null, in which case parameters are left untouched (assumed to be specified at a later point. Normally, however, "parameters" should refer to the stu triplets (again, triplets, not pairs) for the values of the vertex parameters. These values will be copied, and the appropriate bits in mp_exists will be updated. If "width" is <= 0, this function will use the value from mp_paramwidth. |
width | specifies the number of floating point values per parameter. For example, a single 2d texture will have 2, whereas two 3d textures will have 6. |