SoQtObject(3)

NAME

SoQtObject

The SoQtObject class is the common superclass for all SoQt component classes.

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

SYNOPSIS

#include <Inventor/Qt/SoQtObject.h>

Inherited by SoQtComponent, and SoQtDevice.

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

Static Public Member Functions
static void initClass (void)
static SoType getClassTypeId (void)
static void init (void)

Detailed Description

The SoQtObject class is the common superclass for all SoQt component classes.

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

You can place the macro SOQT_OBJECT_HEADER(classname,parentname) within a class definition header for SoQt extension components to
automatically make the necessary definitions for setting up a run-time type system for your extension classes:
#ifndef MYSPECIALVIEWER_H
#define MYSPECIALVIEWER_H
class MySpecialViewer : public SoQtExaminerViewer {
SOQT_OBJECT_HEADER(MySpecialViewer, SoQtExaminerViewer);
// [rest of class definition follows]
};
#endif // !MYSPECIALVIEWER_H
Then put the SOQT_OBJECT_SOURCE(classname) macro within the actual
implementation sourcecode file to include the necessary code for the
run-time 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

void SoQtObject::initClass (void) [static] Sets up initialization for data
common to all instances of this class, submitting necessary information to the internal SoQt type system. Reimplemented in SoQtComponent, SoQtGLWidget, SoQtRenderArea, SoQtViewer, SoQtFullViewer, SoQtPlaneViewer, SoQtExaminerViewer, SoQtConstrainedViewer, SoQtFlyViewer, SoQtDevice, SoQtMouse, SoQtKeyboard, and SoQtSpaceball.
Referenced by init().
SoType SoQtObject::getClassTypeId (void) [static] This static method
returns the SoType object associated with objects of this class. Reimplemented in SoQtComponent, SoQtGLWidget, SoQtRenderArea, SoQtViewer, SoQtFullViewer, SoQtPlaneViewer, SoQtExaminerViewer, SoQtConstrainedViewer, SoQtFlyViewer, SoQtDevice, SoQtMouse, SoQtKeyboard, and SoQtSpaceball.
SoType SoQtObject::getTypeId (void) const [pure virtual] Returns the type
identification of an object derived from a class inheriting SoQtObject. This is used for run-time type checking and 'downward' casting. Usage example:

void foo(SoQtViewer * comp)
{
if (comp->getTypeId() == SoQtExaminerViewer::getClassTypeId()) {
// safe downward cast, knows the type
SoQtExaminerViewer * exviewer = (SoQtExaminerViewer *)comp;
}
else if (comp->getTypeId().isOfType(SoQtFlyViewer::getClassTypeId())) {
// safe downward cast, knows the type
SoQtFlyViewer * flyviewer = (SoQtFlyViewer *)comp;
// then something else
}
}
Implemented in SoQtComponent, SoQtGLWidget, SoQtRenderArea, SoQtViewer, SoQtFullViewer, SoQtPlaneViewer, SoQtExaminerViewer, SoQtConstrainedViewer, SoQtFlyViewer, SoQtDevice, SoQtMouse, SoQtKeyboard, and SoQtSpaceball.
Referenced by isOfType().
SbBool SoQtObject::isOfType (SoType type) const Returns TRUE if the type of
this object is either of the same type or inherited from type. References getTypeId().
void SoQtObject::init (void) [static] Initialize the type system of
SoQtObject, all SoQt device classes and all SoQt components (including viewers).
References initClass(), SoQtComponent::initClasses(), and
SoQtDevice::initClasses().

Author

Generated automatically by Doxygen for SoQt from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout