Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

Cosme Class Reference

Main class of the Cosme project. More...

#include <cosme.h>

Collaboration diagram for Cosme:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

static CosmegetInstance ()

Protected Member Functions

void closeEvent (QCloseEvent *)
 Discrib what to do on a close event.

Protected Attributes

QPushButton * tranform_ok

Private Slots

void newDoc ()
void importTool ()
 Set a new tool to the scene graph.
void importOrgan ()
 Set a new organ to the scene graph.
void save ()
void about ()
 Tell a little about this application.
void insertRing (int type_transform)
 insert a new ring in the timeline
void eraseRing ()
 Erase the last picked ring.
void setTransform ()
 Allow to set a transformation for a ring.
void validTransform ()
 Valid a transformation for a ring.

Private Member Functions

 Cosme ()
 Constructor.
 ~Cosme ()
 Destructor.
SbBox3f getObjectBoundingBox (SoNode *node)
 return the boundingBox around the object.
void import (QString, SoSeparator *)
 Add an object to the scene graph.
void setToolInitialPosition ()
 place the tool in order to put it outside the bounding box of the organ.
SoDragPointDragger * reshapeDragger (SoDragPointDragger *dragger)
 return the same SoDragPointDragger which is scaled
void setRotationManipulator (bool action)
void setTranslationDragger (bool action)

Static Private Member Functions

static void eventCB (void *, SoEventCallback *ev)
 Callback on the mouse events which rotates the 2 parts of the angle with opposite angle, and make the popup menu appear.
static void replaceDraggerCB (void *)
 Motioncallback associate to the SoDragPointDragger which synchronize the position of the tool with the dragger's one.

Private Attributes

QString filename
SbVec3f lastClickedPos
SoQtExaminerViewer * viewer
SoSeparator * root
SoSeparator * scene
SoCamera * cameraSc
SoSeparator * containCB
SoEventCallback * rotationCB
SoEventCallback * translationCB
SoSeparator * containTool
SoSeparator * geometryObjects
SoSeparator * containDragger
SoTranslation * topToolTranslation
SoTransform * manipulatorTransform
SoSeparator * tool
SoSFFloat * toolAngle
SoSeparator * organ
SoSeparator * timeline
SoCamera * cameraTl
SoSeparator * tl_base

Static Private Attributes

static Cosmecosme_instance = NULL
static RingpickedRing = NULL
static const SbVec3f x_axis
static const SbVec3f y_axis
static const SbVec3f z_axis
static bool rotationBool = false
static bool translationBool = false
static bool toolAngleBool = false

Friends

class cosmeTest

Detailed Description

Main class of the Cosme project.

Author:
Loïc Duviquet

Sébastien Boisgérault

Nicolas Rémond

Version:
0.1
Date:
Februar 2005
Class that allow to describe a cinematic between a tool and an organ to export it in order to simulate it with Forgeon3


Constructor & Destructor Documentation

Cosme::Cosme  )  [private]
 

Constructor.

Cosme::Cosme()

Cosme::~Cosme  )  [private]
 

Destructor.

Cosme::~Cosme()


Member Function Documentation

void Cosme::about  )  [private, slot]
 

Tell a little about this application.

void Cosme::closeEvent QCloseEvent *  ce  )  [protected]
 

Discrib what to do on a close event.

Parameters:
ce close event.

void Cosme::eraseRing  )  [private, slot]
 

Erase the last picked ring.

void Cosme::eventCB void *  u,
SoEventCallback *  ev
[static, private]
 

Callback on the mouse events which rotates the 2 parts of the angle with opposite angle, and make the popup menu appear.

Parameters:
u Event context, get a pointer to an instance of Cosme
ev Access to the event

Cosme * Cosme::getInstance  )  [static]
 

SbBox3f Cosme::getObjectBoundingBox SoNode *  node  )  [private]
 

return the boundingBox around the object.

SbBox3f Cosme::getObjectBoundingBox(void* u)

void Cosme::import QString  fileName,
SoSeparator *  sep
[private]
 

Add an object to the scene graph.

Parameters:
fileName a file to import.
sep where to add the object to the scene graph

void Cosme::importOrgan  )  [private, slot]
 

Set a new organ to the scene graph.

void Cosme::importTool  )  [private, slot]
 

Set a new tool to the scene graph.

void Cosme::insertRing int  type_transform  )  [private, slot]
 

insert a new ring in the timeline

Parameters:
type_transform give the type of ring we want to insert.

void Cosme::newDoc  )  [private, slot]
 

void Cosme::replaceDraggerCB void *  s  )  [static, private]
 

Motioncallback associate to the SoDragPointDragger which synchronize the position of the tool with the dragger's one.

Parameters:
s Event context, get a pointer to an instance of Cosme

SoDragPointDragger * Cosme::reshapeDragger SoDragPointDragger *  dragger  )  [private]
 

return the same SoDragPointDragger which is scaled

SoDragPointDragger* reshapeDragger(SoDragPointDragger *dragger)

void Cosme::save  )  [private, slot]
 

void Cosme::setRotationManipulator bool  action  )  [private]
 

void Cosme::setToolInitialPosition  )  [private]
 

place the tool in order to put it outside the bounding box of the organ.

void setToolInitialPosition()

void Cosme::setTransform  )  [private, slot]
 

Allow to set a transformation for a ring.

void Cosme::setTranslationDragger bool  action  )  [private]
 

void Cosme::validTransform  )  [private, slot]
 

Valid a transformation for a ring.


Friends And Related Function Documentation

friend class cosmeTest [friend]
 


Member Data Documentation

SoCamera* Cosme::cameraSc [private]
 

The scene camera

SoCamera* Cosme::cameraTl [private]
 

The timeline camera, fixed camera

SoSeparator* Cosme::containCB [private]
 

Node that contains all callbacks

SoSeparator* Cosme::containDragger [private]
 

Node that contains every tool draggers

SoSeparator* Cosme::containTool [private]
 

Contain all what is in relation with the tool

Cosme * Cosme::cosme_instance = NULL [static, private]
 

The Cosme instance - Singleton

QString Cosme::filename [private]
 

Filename choose to import

SoSeparator* Cosme::geometryObjects [private]
 

Node that contains the tool geometry

SbVec3f Cosme::lastClickedPos [private]
 

Last clicked position, used to know where to insert a new ring

SoTransform* Cosme::manipulatorTransform [private]
 

Transformation of the tool which is replaced by a manipulator and then keep the position

SoSeparator* Cosme::organ [private]
 

Ring * Cosme::pickedRing = NULL [static, private]
 

SoSeparator* Cosme::root [private]
 

Scene graph root

bool Cosme::rotationBool = false [static, private]
 

Lock while the rotation is not confirmed

SoEventCallback* Cosme::rotationCB [private]
 

The rotation callback

SoSeparator* Cosme::scene [private]
 

Node that represent the scene

SoSeparator* Cosme::timeline [private]
 

Node that represent the timeline

SoSeparator* Cosme::tl_base [private]
 

SoSeparator* Cosme::tool [private]
 

Node indirection to the tool

SoSFFloat* Cosme::toolAngle [private]
 

The tool opening parameter

bool Cosme::toolAngleBool = false [static, private]
 

Lock while the modification of the tool angle

SoTranslation* Cosme::topToolTranslation [private]
 

Initial translation of the tool

QPushButton* Cosme::tranform_ok [protected]
 

bool Cosme::translationBool = false [static, private]
 

Lock while the translation is not confirmed

SoEventCallback* Cosme::translationCB [private]
 

The translation callback

SoQtExaminerViewer* Cosme::viewer [private]
 

SoQt Examiner Viewer

const SbVec3f Cosme::x_axis [static, private]
 

X Axis - constant

const SbVec3f Cosme::y_axis [static, private]
 

Y Axis - constant

const SbVec3f Cosme::z_axis [static, private]
 

Z Axis - constant


The documentation for this class was generated from the following files:
Generated on Tue Jul 12 16:40:31 2005 for CosmeProject by  doxygen 1.4.3