Man Linux: Main Page and Category List

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.

       Referenced by init(), SoQtDevice::initClasses(), and
       SoQtComponent::initClasses().

   SoType SoQtObject::getClassTypeId (void) [static]
       This static method returns the SoType object associated with objects of
       this class.

       Referenced by SoQtViewer::setCameraType(), SoQtViewer::setSceneGraph(),
       SoQtRenderArea::sizeChanged(), SoQtViewer::SoQtViewer(), and
       SoQtViewer::toggleCameraType().

   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
           }
         }

       Referenced by isOfType(), and SoQtRenderArea::sizeChanged().

   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.