FX::TnFXGraph Class Reference
[2D and 3D Graphing]

#include <TnFXGraph.h>

Inheritance diagram for FX::TnFXGraph:

FX::FXGLGroup FX::FXGLObject FX::FXObject FX::TnFX2DGraph FX::TnFX3DGraph List of all members.

Detailed Description

Abstract base class for a graph renderer.

This base class for OpenGL graph renderers provides a number of useful facilities. For one, you can supply either 2D or 3D data and the appropriate subclass which either reduce or expand it to what is required by a user supplied function.

If you want to set the colour, line width etc, set it via the FX::FXGLVertices instance representing that item. Note that if you change the data to be shown, you MUST call itemChanged() to regenerate the OpenGL display lists used to show the item.

Definition at line 82 of file TnFXGraph.h.

Public Types

typedef void(*) ExpandFunc (QMemArray< FXVec3f > &out, const QMemArray< FXVec2f > &in)
typedef void(*) ReduceFunc (QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in)
 ID_LAST
enum  { ID_LAST }

Public Member Functions

 ~TnFXGraph ()
FXGLVerticessetItemDetails (FXuint item, const FXString &title, const FXGLColor &colour, FXfloat pointsize=4.0f, FXfloat linesize=2.0f)
FXGLVerticessetItemData (FXuint item, const FXVec2f *data, FXuint elements, ExpandFunc expand=Expand)
FXGLVerticessetItemData (FXuint item, const QMemArray< FXVec2f > *data, ExpandFunc expand=Expand)
FXGLVerticessetItemData (FXuint item, const FXVec3f *data, FXuint elements, ReduceFunc reduce=ReduceZ)
FXGLVerticessetItemData (FXuint item, const QMemArray< FXVec3f > *data, ReduceFunc reduce=ReduceZ)
FXGLVerticesitemChanged (FXuint item)
virtual void bounds (FXRangef &box)
virtual void draw (FXGLViewer *viewer)
virtual void hit (FXGLViewer *viewer)
FXGLObjectListgetList ()
virtual FXGLObjectcopy ()
virtual FXGLObjectidentify (FXuint *path)
virtual FXbool canDrag () const
virtual FXbool drag (FXGLViewer *viewer, FXint fx, FXint fy, FXint tx, FXint ty)
FXint no () const
FXGLObjectchild (FXint pos) const
void insert (FXint pos, FXGLObject *obj)
void prepend (FXGLObject *obj)
void append (FXGLObject *obj)
void replace (FXint pos, FXGLObject *obj)
void remove (FXGLObject *obj)
void erase (FXint pos)
void clear ()
virtual void save (FXStream &store) const
virtual void load (FXStream &store)
virtual FXbool canDelete () const
virtual long onDefault (FXObject *, FXSelector, void *)
const FXchargetClassName () const
bool isMemberOf (const FXMetaClass *metaclass) const
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
QTransString tr (const char *text, const char *hint=0)
virtual void * getPythonObject () const
virtual void decouplePythonObject () const

Static Public Member Functions

template<FXint zval>
static void Expand (QMemArray< FXVec3f > &out, const QMemArray< FXVec2f > &in)
static void Expand (QMemArray< FXVec3f > &out, const QMemArray< FXVec2f > &in)
template<int offset, int stepe, int stepm>
static void ReduceE (QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in)
template<int yinc, int offset, int step>
static void ReduceE2x (QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in)
template<int xinc, int offset, int step>
static void ReduceE2y (QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in)
static void ReduceZ (QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in)

Protected Member Functions

virtual void int_prepareItems (FXGLViewer *viewer)=0
 TnFXGraph ()

Protected Attributes

QPtrVector< TnFXGraphItem > * items
FXGLObjectList list


The documentation for this class was generated from the following file:
(C) 2002-2009 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Nov 20 18:37:48 2009 for TnFOX by doxygen v1.4.7