TK_PolyCylinder

Types

Capping_Options

Fields

TKCYL_NORMAL_FIRST

TKCYL_NORMAL_SECOND

TKCYL_OPTIONALS

Functions

TK_PolyCylinder

~TK_PolyCylinder

TK_Status

Read

TK_Status

Write

TK_Status

Clone

TK_Status

ReadAscii

TK_Status

WriteAscii

void

Reset

void

SetPoints

float const *

GetPoints

float *

GetPoints

void

SetRadii

void

SetRadius

float const *

GetRadii

float *

GetRadii

void

SetDPoints

double const *

GetDPoints

double *

GetDPoints

void

SetDRadii

void

SetDRadius

double const *

GetDRadii

double *

GetDRadii

int

GetCount

int

GetRadiusCount

void

SetCaps

int

GetCaps

void

SetEndNormal

float const *

GetEndNormal

Detailed Description

class TK_PolyCylinder : public TK_Polyhedron

Handles the TKE_PolyCylinder opcode.

TK_PolyCylinder provides support for writing/reading the TKE_PolyCylinder opcode object to/from an HSF file.

The HOOPS/3dGS scene-graph can contain ‘polycylinder’ primitives which are defined by a series of points representing the centerline, radius at each point, and flags indicating which ends are ‘capped’.

Subclassed by HTK_PolyCylinder

Public Types

enum Capping_Options

Cylinder capping options

Values:

enumerator TKCYL_NORMAL_FIRST

cap ‘first’ side

enumerator TKCYL_NORMAL_SECOND

cap ‘second’ side

enumerator TKCYL_OPTIONALS

has optionals

Public Functions

inline TK_PolyCylinder()

constructor

~TK_PolyCylinder()
virtual TK_Status Read(BStreamFileToolkit &tk)

Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

Parameters

tk – A reference to the BStreamFileToolkit object.

Returns

The result of the function call.

virtual TK_Status Write(BStreamFileToolkit &tk)

Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

Parameters

tk – A reference to the BStreamFileToolkit object.

Returns

The result of the function call.

virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

Copies the opcode handler

Parameters
  • tk – A reference to the BStreamFileToolkit object.

  • handler – A pointer to the opcode handler object. Passed by reference.

Returns

The result of the function call.

TK_Status ReadAscii(BStreamFileToolkit &tk)

Deprecated.

TK_Status WriteAscii(BStreamFileToolkit &tk)

Deprecated.

virtual void Reset()

Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

void SetPoints(int count, float const points[] = 0)

Sets the point array. Allocates a buffer which will hold ‘count’ float triplets, and if specified, copies the ‘points’ into the buffer

inline float const *GetPoints() const

Returns the address of the point buffer

inline float *GetPoints()

Returns the address of the point buffer, which may be modified directly

void SetRadii(int count, float const radii[] = 0)

Sets the radius array. Allocates a buffer which will hold ‘count’ floats, and if specified, copies the ‘radii’ into the buffer

inline void SetRadius(float radius)

Convenience function to set a single radius

inline float const *GetRadii() const

Returns the address of the point buffer

inline float *GetRadii()

Returns the address of the point buffer, which may be modified directly

void SetDPoints(int count, double const points[] = 0)

Sets the point array. Allocates a buffer which will hold ‘count’ double triplets, and if specified, copies the ‘points’ into the buffer

inline double const *GetDPoints() const

Returns the address of the point buffer

inline double *GetDPoints()

Returns the address of the point buffer, which may be modified directly

void SetDRadii(int count, double const radii[] = 0)

Sets the radius array. Allocates a buffer which will hold ‘count’ double, and if specified, copies the ‘radii’ into the buffer

inline void SetDRadius(double radius)

Convenience function to set a single radius

inline double const *GetDRadii() const

Returns the address of the point buffer

inline double *GetDRadii()

Returns the address of the point buffer, which may be modified directly

inline int GetCount() const

Returns the number of points in the buffer

inline int GetRadiusCount() const

Returns the number of radii in the buffer

inline void SetCaps(int f)

Sets the capping options of the cylinder

inline int GetCaps() const

Returns the capping options of the cylinder

inline void SetEndNormal(int index, float const normal[] = 0)

Sets (or clears) the normal associated with an end of the polycylinder

inline float const *GetEndNormal(int index) const

Returns the normal associated with an end of the polycylinder (0 if none)