http://www.sim.no
http://www.coin3d.org
Main Page
Related Pages
Modules
Classes
Files
File List
include
Inventor
VRMLnodes
SoVRMLTransform.h
1
/**************************************************************************\
2
*
3
* This file is part of the Coin 3D visualization library.
4
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* ("GPL") version 2 as published by the Free Software Foundation.
9
* See the file LICENSE.GPL at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using Coin with software that can not be combined with the GNU
13
* GPL, and for taking advantage of the additional benefits of our
14
* support services, please contact Systems in Motion about acquiring
15
* a Coin Professional Edition License.
16
*
17
* See http://www.coin3d.org/ for more information.
18
*
19
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
20
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21
*
22
\**************************************************************************/
23
24
#ifndef COIN_SOVRMLTRANSFORM_H
25
#define COIN_SOVRMLTRANSFORM_H
26
27
#include <Inventor/nodes/SoSubNode.h>
28
#include <Inventor/VRMLnodes/SoVRMLGroup.h>
29
#include <Inventor/fields/SoSFVec3f.h>
30
#include <Inventor/fields/SoSFRotation.h>
31
32
class
COIN_DLL_API
SoVRMLTransform
:
public
SoVRMLGroup
33
{
34
typedef
SoVRMLGroup
inherited
;
35
SO_NODE_HEADER(
SoVRMLTransform
);
36
37
public
:
38
static
void
initClass
(
void
);
39
SoVRMLTransform
(
void
);
40
SoVRMLTransform
(
int
children);
41
42
SoSFVec3f
translation
;
43
SoSFRotation
rotation
;
44
SoSFVec3f
scale
;
45
SoSFRotation
scaleOrientation
;
46
SoSFVec3f
center
;
47
48
void
pointAt(
const
SbVec3f
& from,
const
SbVec3f
& to);
49
void
getScaleSpaceMatrix(
SbMatrix
& matrix,
SbMatrix
& inverse)
const
;
50
void
getRotationSpaceMatrix(
SbMatrix
& matrix,
SbMatrix
& inverse)
const
;
51
void
getTranslationSpaceMatrix(
SbMatrix
& matrix,
SbMatrix
& inverse)
const
;
52
53
void
multLeft(
const
SbMatrix
& matrix);
54
void
multRight(
const
SbMatrix
& matrix);
55
56
void
combineLeft(
SoVRMLTransform
* leftnode);
57
void
combineRight(
SoVRMLTransform
* rightnode);
58
59
void
setMatrix(
const
SbMatrix
& matrix);
60
61
void
recenter(
const
SbVec3f
& newcenter);
62
63
virtual
void
doAction
(
SoAction
* action);
64
virtual
void
callback
(
SoCallbackAction
* action);
65
virtual
void
getBoundingBox
(
SoGetBoundingBoxAction
* action);
66
virtual
void
getMatrix
(
SoGetMatrixAction
* action);
67
virtual
void
rayPick
(
SoRayPickAction
* action);
68
virtual
void
getPrimitiveCount
(
SoGetPrimitiveCountAction
* action);
69
virtual
void
audioRender
(
SoAudioRenderAction
* action);
70
71
virtual
void
GLRenderBelowPath
(
SoGLRenderAction
* action);
72
virtual
void
GLRenderInPath
(
SoGLRenderAction
* action);
73
74
virtual
void
notify
(
SoNotList
* list);
75
76
protected
:
77
virtual
~
SoVRMLTransform
();
78
79
private
:
80
void
commonConstructor(
void
);
81
void
applyMatrix(
SoState
* state);
82
};
// class SoVRMLTransform
83
84
#endif // ! COIN_SOVRMLTRANSFORM_H
Copyright © 1998-2007 by
Systems in Motion AS
. All rights reserved.
Generated on Wed Jul 18 2012 for Coin by
Doxygen.
1.8.1.1