SoWx  0.1.0
Coin3D GUI toolkit binding
Loading...
Searching...
No Matches
SoWxObject Class Referenceabstract

The SoWxObject class is the common superclass for all SoWx component classes. More...

#include <Inventor/Wx/SoWxObject.h>

Inheritance diagram for SoWxObject:
SoWxComponent SoWxDevice SoWxGLWidget SoWxKeyboard SoWxMouse SoWxRenderArea SoWxViewer SoWxFullViewer SoWxConstrainedViewer SoWxExaminerViewer SoWxPlaneViewer SoWxFlyViewer

Public Member Functions

virtual SoType getTypeId (void) const =0
 
SbBool isOfType (SoType type) const
 

Static Public Member Functions

static SoType getClassTypeId (void)
 
static void init (void)
 
static void initClass (void)
 

Detailed Description

The SoWxObject class is the common superclass for all SoWx component classes.

The purpose of making this class the superclass of all SoWx device, component and viewer classes is to be able to do runtime type checking of the SoWx objects.

You can place the macro SOWX_OBJECT_HEADER(classname,parentname) within a class definition header for SoWx extension components to automatically provide the necessary definitions for setting up a runtime type system for your extension classes:

#ifndef MYSPECIALVIEWER_H
#define MYSPECIALVIEWER_H
class MySpecialViewer : public SoWxExaminerViewer {
SOWX_OBJECT_HEADER(MySpecialViewer, SoWxExaminerViewer);
// [rest of class definition follows]
};
#endif // !MYSPECIALVIEWER_H
The SoWxExaminerViewer class is a 3D-model examination viewer.
Definition SoWxExaminerViewer.h:50

Then put the SOWX_OBJECT_SOURCE(classname) macro within the actual implementation source code file to include the necessary code for the runtime type system:

#include <MySpecialViewer.h>
SOQT_OBJECT_SOURCE(MySpecialViewer);
// [rest of class implementation]

See also the documentation of the SoType class in Coin or Inventor.

Member Function Documentation

◆ getClassTypeId()

SoType SoWxObject::getClassTypeId ( void )
static

This static method returns the SoType object associated with objects of this class.

◆ getTypeId()

SoType SoWxObject::getTypeId ( void ) const
pure virtual

Returns the type identification of an object derived from a class inheriting SoWxObject. This is used for runtime type checking and "downward" casting.

Usage example:

void foo(SoWxViewer * comp)
{
// safe downward cast, knows the type
SoWxExaminerViewer * exviewer = (SoWxExaminerViewer *)comp;
}
else if (comp->getTypeId().isOfType(SoWxFlyViewer::getClassTypeId())) {
// safe downward cast, knows the type
SoWxFlyViewer * flyviewer = (SoWxFlyViewer *)comp;
// then something else
}
}
The SoWxFlyViewer class implements controls for moving the camera in a "flying" motion.
Definition SoWxFlyViewer.h:42
virtual SoType getTypeId(void) const =0
static SoType getClassTypeId(void)
Definition SoWxObject.cpp:152
The SoWxViewer class is the top level base viewer class.
Definition SoWxViewer.h:90

◆ init()

void SoWxObject::init ( void )
static

Initialize the type system of SoWxObject, all SoWx device classes and all SoWx components (including viewers).

◆ initClass()

void SoWxObject::initClass ( void )
static

Sets up initialization for data common to all instances of this class, submitting necessary information to the internal SoWx type system.

◆ isOfType()

SbBool SoWxObject::isOfType ( SoType type) const

Returns TRUE if the type of this object is either of the same type or inherited from type.


The documentation for this class was generated from the following files: