#include <TnFXGraph.h>
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.
Public Types | |
typedef void(* | ExpandFunc )(QMemArray< FXVec3f > &out, const QMemArray< FXVec2f > &in) |
typedef void(* | ReduceFunc )(QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in) |
enum | { ID_LAST } |
Public Member Functions | |
FXGLVertices * | setItemDetails (FXuint item, const FXString &title, const FXGLColor &colour, FXfloat pointsize=4.0f, FXfloat linesize=2.0f) |
FXGLVertices * | setItemData (FXuint item, const FXVec2f *data, FXuint elements, ExpandFunc expand=Expand) |
FXGLVertices * | setItemData (FXuint item, const QMemArray< FXVec2f > *data, ExpandFunc expand=Expand) |
FXGLVertices * | setItemData (FXuint item, const FXVec3f *data, FXuint elements, ReduceFunc reduce=ReduceZ) |
FXGLVertices * | setItemData (FXuint item, const QMemArray< FXVec3f > *data, ReduceFunc reduce=ReduceZ) |
FXGLVertices * | itemChanged (FXuint item) |
virtual void | bounds (FXRangef &box) |
virtual void | draw (FXGLViewer *viewer) |
virtual void | hit (FXGLViewer *viewer) |
FXGLObjectList & | getList () |
virtual FXGLObject * | copy () |
virtual FXGLObject * | identify (FXuint *path) |
virtual FXbool | canDrag () const |
virtual FXbool | drag (FXGLViewer *viewer, FXint fx, FXint fy, FXint tx, FXint ty) |
FXint | no () const |
FXGLObject * | child (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 FXchar * | getClassName () 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 |
Protected Attributes | |
QPtrVector< TnFXGraphItem > * | items |
FXGLObjectList | list |
typedef void(* FX::TnFXGraph::ExpandFunc)(QMemArray< FXVec3f > &out, const QMemArray< FXVec2f > &in) |
A function translating a 2d array into a 3d array.
typedef void(* FX::TnFXGraph::ReduceFunc)(QMemArray< FXVec3f > &out, const QMemArray< FXVec3f > &in) |
A function translating a 3d array into a 2d array.
FXGLVertices* FX::TnFXGraph::setItemDetails | ( | FXuint | item, | |
const FXString & | title, | |||
const FXGLColor & | colour, | |||
FXfloat | pointsize = 4.0f , |
|||
FXfloat | linesize = 2.0f | |||
) |
Sets item title and colour.
FXGLVertices* FX::TnFXGraph::setItemData | ( | FXuint | item, | |
const FXVec2f * | data, | |||
FXuint | elements, | |||
ExpandFunc | expand = Expand | |||
) |
Sets the data to be used, with zero unsetting.
FXGLVertices* FX::TnFXGraph::setItemData | ( | FXuint | item, | |
const QMemArray< FXVec2f > * | data, | |||
ExpandFunc | expand = Expand | |||
) |
Sets the data to be used, with zero unsetting. Automatically fetches the length thereafter.
FXGLVertices* FX::TnFXGraph::setItemData | ( | FXuint | item, | |
const FXVec3f * | data, | |||
FXuint | elements, | |||
ReduceFunc | reduce = ReduceZ | |||
) |
Sets the data to be used, with zero unsetting.
FXGLVertices* FX::TnFXGraph::setItemData | ( | FXuint | item, | |
const QMemArray< FXVec3f > * | data, | |||
ReduceFunc | reduce = ReduceZ | |||
) |
Sets the data to be used, with zero unsetting. Automatically fetches the length thereafter.
FXGLVertices* FX::TnFXGraph::itemChanged | ( | FXuint | item | ) |
Indicates that an item's data should be recalculated.
virtual void FX::TnFXGraph::bounds | ( | FXRangef & | box | ) | [virtual] |
virtual void FX::TnFXGraph::draw | ( | FXGLViewer * | viewer | ) | [virtual] |
virtual void FX::TnFXGraph::hit | ( | FXGLViewer * | viewer | ) | [virtual] |
static void FX::TnFXGraph::Expand | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec2f > & | in | |||
) | [inline, static] |
Expands a 2d array into a 3d array by setting of Z.
References FX::QMemArray< type >::count(), and FX::QMemArray< type >::resize().
static void FX::TnFXGraph::Expand | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec2f > & | in | |||
) | [inline, static] |
Expands a 2d array into a 3d array by setting of Z to zero.
References FX::QMemArray< type >::count(), and FX::QMemArray< type >::resize().
static void FX::TnFXGraph::ReduceE | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec3f > & | in | |||
) | [inline, static] |
Translates a 3d array into a 2d array by elimination of a coordinate, stepping stepe at the end and stepm in the middle.
References FX::QMemArray< type >::count(), FX::QMemArray< type >::data(), and FX::QMemArray< type >::resize().
static void FX::TnFXGraph::ReduceE2x | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec3f > & | in | |||
) | [inline, static] |
Translates a 3d array into a 2d array by elimination of two coordinates.
References FX::QMemArray< type >::count(), FX::QMemArray< type >::data(), and FX::QMemArray< type >::resize().
static void FX::TnFXGraph::ReduceE2y | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec3f > & | in | |||
) | [inline, static] |
Translates a 3d array into a 2d array by elimination of two coordinates.
References FX::QMemArray< type >::count(), FX::QMemArray< type >::data(), and FX::QMemArray< type >::resize().
static void FX::TnFXGraph::ReduceZ | ( | QMemArray< FXVec3f > & | out, | |
const QMemArray< FXVec3f > & | in | |||
) | [inline, static] |
Translates a 3d array into a 2d array by division of Z.
References FX::QMemArray< type >::count(), and FX::QMemArray< type >::resize().
FXGLObjectList& FX::FXGLGroup::getList | ( | ) | [inline, inherited] |
Return list of childern.
virtual FXGLObject* FX::FXGLGroup::copy | ( | ) | [virtual, inherited] |
virtual FXGLObject* FX::FXGLGroup::identify | ( | FXuint * | path | ) | [virtual, inherited] |
virtual FXbool FX::FXGLGroup::canDrag | ( | ) | const [virtual, inherited] |
virtual FXbool FX::FXGLGroup::drag | ( | FXGLViewer * | viewer, | |
FXint | fx, | |||
FXint | fy, | |||
FXint | tx, | |||
FXint | ty | |||
) | [virtual, inherited] |
FXint FX::FXGLGroup::no | ( | ) | const [inline, inherited] |
Return number of children.
FXGLObject* FX::FXGLGroup::child | ( | FXint | pos | ) | const [inline, inherited] |
Child at position.
void FX::FXGLGroup::insert | ( | FXint | pos, | |
FXGLObject * | obj | |||
) | [inline, inherited] |
Insert child object at given position.
void FX::FXGLGroup::prepend | ( | FXGLObject * | obj | ) | [inline, inherited] |
Prepend child object.
void FX::FXGLGroup::append | ( | FXGLObject * | obj | ) | [inline, inherited] |
Append child object.
void FX::FXGLGroup::replace | ( | FXint | pos, | |
FXGLObject * | obj | |||
) | [inline, inherited] |
Replace child object.
void FX::FXGLGroup::remove | ( | FXGLObject * | obj | ) | [inline, inherited] |
Remove child object.
void FX::FXGLGroup::erase | ( | FXint | pos | ) | [inline, inherited] |
Remove child object at given position.
void FX::FXGLGroup::clear | ( | ) | [inline, inherited] |
Remove all children.
virtual void FX::FXGLGroup::save | ( | FXStream & | store | ) | const [virtual, inherited] |
virtual void FX::FXGLGroup::load | ( | FXStream & | store | ) | [virtual, inherited] |
virtual FXbool FX::FXGLObject::canDelete | ( | ) | const [virtual, inherited] |
virtual long FX::FXObject::onDefault | ( | FXObject * | , | |
FXSelector | , | |||
void * | ||||
) | [virtual, inherited] |
Called for unhandled messages.
Reimplemented in FX::FXDelegator, FX::FXGLViewer, FX::FXMDIChild, and FX::FXMDIClient.
const FXchar* FX::FXObject::getClassName | ( | ) | const [inherited] |
Get class name of some object.
bool FX::FXObject::isMemberOf | ( | const FXMetaClass * | metaclass | ) | const [inherited] |
Check if object is member of metaclass.
virtual long FX::FXObject::tryHandle | ( | FXObject * | sender, | |
FXSelector | sel, | |||
void * | ptr | |||
) | [virtual, inherited] |
Try handle message safely.
QTransString FX::FXObject::tr | ( | const char * | text, | |
const char * | hint = 0 | |||
) | [inherited] |
Returns a human translated version of the text to the locale language (warning: uses a virtual method call, so can't use before construction)
virtual void* FX::FXObject::getPythonObject | ( | ) | const [inline, virtual, inherited] |
Returns the python object representing this instance (if created in python).
virtual void FX::FXObject::decouplePythonObject | ( | ) | const [inline, virtual, inherited] |
Causes decoupling of python object from this object (deletes self).