class tsSurface : public SoVertexShape

Feedback node, drawing a two dimensional signal as a surface

Inheritance:


Public Fields

SoSFFloat complexity
Old stuff, out of date.
SoSFTime future
Old stuff, out of date.
SoSFTime past
Old stuff, out of date.

Public Methods

virtual SbBool affectsState()
Becasue it is a feedback node, it does not affect the state of an action!
static void initClass()
Makes this class known to the OpenInventor type system.
tsSurface()
Constructor
virtual ~tsSurface()
Destructor

Protected

Action behaviour:
virtual void GLRender(SoGLRenderAction *action)
This implements the GL rendering action.
void GLRenderRegular(SoState *state, tsData2RNFloat* dataNode, GLenum GLMode, tsNormal* normalNode, float now, int startIdx, int endIdx)
Called from GLRender(), renders regular sampled signal data. Only implemented type!
void GLRenderMarks(SoState *state, tsData1Marks* marksNode, tsData2RNFloat* dataNode, float nowTime, int startIdx, int endIdx)
void GLComputeNormals(const tsData2Base* dataNode, TS_VEC3B_FIELD_TYPE& normalField)
Called from GLRender(), when we have to compute our nodes ourself.
SbVec3f GLcomputeNormal(const tsData2RNFloat* dataNode, int indexT, int index2)
Computes one normal vector for a vertex in a tsData2RNFloat node
virtual void generatePrimitives(SoAction *action)
Produces primitive representation for picking.
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f &center)
Computes the bounding box and center of a shape

Private Fields

tsNormal* _myNormals
Points to the normal node of class tsNormals we use for rendering. Got from tsNormalElement or computed by out self.

Private Methods

void _computeIndices(float time, float past, float future, tsDataBase* dataNode, int& startIdx, int& endIdx)
Computes the time axis indices (startIdx, endIdx) for windowed drawing between -past and +future
SO_NODE_HEADER(tsSurface)
Inventor macro

Documentation

Feedback node, drawing a two dimensional signal as a surface. Uses GL_TRIANGLE_STRIP as GLMode.

Time is mapped to the X-axis,
2nd dimension (spectra: frequency) to Z-axis,
signal values (spectra: amplitude) to Y-axis.

Uses time to render for from tsTimeElement.

Draws marks from a tsDataMarksElement element!

Uses signal data from a tsData2Element. Uses normal vectors from a tsNormalElement or computes and set them, if no fitting normals are set in tsNormalElement.

Material and draw style is standard.

Texture mapping is not yet implemented!

SO_NODE_HEADER(tsSurface)
Inventor macro

SoSFTime past
Old stuff, out of date.

SoSFTime future
Old stuff, out of date.

SoSFFloat complexity
Old stuff, out of date.

static void initClass()
Makes this class known to the OpenInventor type system.

tsSurface()
Constructor

virtual ~tsSurface()
Destructor

virtual SbBool affectsState()
Becasue it is a feedback node, it does not affect the state of an action!

Action behaviour:

virtual void GLRender(SoGLRenderAction *action)
This implements the GL rendering action.

void GLRenderRegular(SoState *state, tsData2RNFloat* dataNode, GLenum GLMode, tsNormal* normalNode, float now, int startIdx, int endIdx)
Called from GLRender(), renders regular sampled signal data. Only implemented type!

void GLRenderMarks(SoState *state, tsData1Marks* marksNode, tsData2RNFloat* dataNode, float nowTime, int startIdx, int endIdx)

void GLComputeNormals(const tsData2Base* dataNode, TS_VEC3B_FIELD_TYPE& normalField)
Called from GLRender(), when we have to compute our nodes ourself.

SbVec3f GLcomputeNormal(const tsData2RNFloat* dataNode, int indexT, int index2)
Computes one normal vector for a vertex in a tsData2RNFloat node. Called from GLComputeNormals().

virtual void generatePrimitives(SoAction *action)
Generates a (very reduced) representation of the shape in primitives (points,lines and triangels, here triangles). Implementing this method, the picking mechanism for all vertex shapes can be employed. Until now, only a bounding box sized rectangular in the X/Y plane is generated. Ok for picking!

virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f &center)
Computes the bounding box and center of a shape. Called from a inherited doBoundingBox() method.

void _computeIndices(float time, float past, float future, tsDataBase* dataNode, int& startIdx, int& endIdx)
Computes the time axis indices (startIdx, endIdx) for windowed drawing between -past and +future.

tsNormal* _myNormals
Points to the normal node of class tsNormals we use for rendering. Got from tsNormalElement or computed by out self.


This class has no child classes.
Author:
(c) Andreas Lücke
Version:
0.0
See Also:
tsLine tsAudio tsData2Base

alphabetic index hierarchy of classes


This page is part of the tsKit's reference manual by Andreas Lücke.
Back to tsKit-Home

generated by doc++