Open Inventor Reference
SoCompose.h
Go to the documentation of this file.
1/*
2 *
3 * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * Further, this software is distributed without any warranty that it is
16 * free of the rightful claim of any third person regarding infringement
17 * or the like. Any license provided herein, whether implied or
18 * otherwise, applies only to this software file. Patent licenses, if
19 * any, provided herein do not apply to combinations of this program with
20 * other software, or any other product whatsoever.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27 * Mountain View, CA 94043, or:
28 *
29 * http://www.sgi.com
30 *
31 * For further information regarding this notice, see:
32 *
33 * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34 *
35 */
36
37
38/*
39 * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
40 *
41 _______________________________________________________________________
42 ______________ S I L I C O N G R A P H I C S I N C . ____________
43 |
44 | $Revision: 1.1.1.1 $
45 |
46 | Description:
47 | This file contains the implementation of the
48 | various composition and decomposition engines
49 |
50 | Classes:
51 | SoComposeVec2f
52 | SoComposeVec3f
53 | SoComposeVec4f
54 | SoComposeRotation
55 | SoComposeRotationFromTo
56 | SoDecomposeVec2f
57 | SoDecomposeVec3f
58 | SoDecomposeVec4f
59 | SoDecomposeRotation
60 |
61 | Author(s) : Ronen Barzel
62 |
63 ______________ S I L I C O N G R A P H I C S I N C . ____________
64 _______________________________________________________________________
65 */
66
67#ifndef _SO_COMPOSE_
68#define _SO_COMPOSE_
69
78
83#define SO_COMPOSE__HEADER(Name) \
84 SO_ENGINE_HEADER(Name); \
85 private: \
86 ~Name(); \
87 virtual void evaluate(); \
88 public: \
89 Name(); \
90 static void initClass()
91
98
124
127public:
129
130
133
136
138
140
141
144
146
147};
150
177
180public:
182
183
186
189
192
194
196
197
200
202
203};
206
234
237public:
239
240
243
246
249
252
254
256
257
260
262
263};
264
271
294
297public:
299
300
303
305
307
308
311
314
316
317};
320
343
346public:
348
349
352
354
356
357
360
363
366
368
369};
372
395
398public:
400
401
404
406
408
409
412
415
418
421
423
424};
425
432
459
462public:
464
465
468
471
473
475
476
479
481
482};
485
513
516public:
518
519
522
525
527
529
530
533
535
536};
537
538
545
568
571public:
573
574
577
579
581
582
585
588};
589
591
592
599
631
634public:
636
637
640
643
646
649
652
654
656
657
661
663
664};
665
666
678
708
711public:
713
714
717
720
722
724
725
728
731
734
737
739
740};
741
742#endif /* _SO_COMPOSE_ */
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition SbSystem.h:77
#define SO_COMPOSE__HEADER(Name)
This internal macro defines the standard methods for the composition engines.
Definition SoCompose.h:83
Matrix composition engine.
Definition SoCompose.h:632
SoEngineOutput matrix
Transformation matrix that transforms from object space into the space specified by the inputs.
Definition SoCompose.h:660
SoMFRotation scaleOrientation
Rotational space for scaling.
Definition SoCompose.h:648
SoMFVec3f scaleFactor
Scale factors in x, y, and z.
Definition SoCompose.h:645
SoMFVec3f center
Center point for scaling and rotating.
Definition SoCompose.h:651
SoMFRotation rotation
Rotation.
Definition SoCompose.h:642
SoMFVec3f translation
Translation in x, y, and z.
Definition SoCompose.h:639
Composes a rotation that rotates from one vector into another.
Definition SoCompose.h:514
SoMFVec3f from
Vector before the rotation.
Definition SoCompose.h:521
SoEngineOutput rotation
A rotation that transforms one vector into another.
Definition SoCompose.h:532
SoMFVec3f to
Vector after the rotation.
Definition SoCompose.h:524
Rotation composition engines.
Definition SoCompose.h:460
SoMFVec3f axis
Axis of rotation.
Definition SoCompose.h:467
SoEngineOutput rotation
Rotation field, defined by the inputs.
Definition SoCompose.h:478
SoMFFloat angle
Angle of rotation.
Definition SoCompose.h:470
Vector composition engines.
Definition SoCompose.h:125
SoMFFloat y
The y component.
Definition SoCompose.h:135
SoMFFloat x
The x component.
Definition SoCompose.h:132
SoEngineOutput vector
Vector composed of x and y components.
Definition SoCompose.h:143
Composes 3D vectors from floating-point values.
Definition SoCompose.h:178
SoMFFloat z
The z component.
Definition SoCompose.h:191
SoEngineOutput vector
Vector composed of x, y, and z.
Definition SoCompose.h:199
SoMFFloat y
The y component.
Definition SoCompose.h:188
SoMFFloat x
The x component.
Definition SoCompose.h:185
Composes 4D vectors from floating-point values.
Definition SoCompose.h:235
SoMFFloat x
The x component.
Definition SoCompose.h:242
SoMFFloat w
The w component.
Definition SoCompose.h:251
SoMFFloat y
The y component.
Definition SoCompose.h:245
SoEngineOutput vector
Vector composed of x, y, z, and w.
Definition SoCompose.h:259
SoMFFloat z
The z component.
Definition SoCompose.h:248
Matrix decomposition engine.
Definition SoCompose.h:709
SoMFVec3f center
The center of transformations.
Definition SoCompose.h:719
SoMFMatrix matrix
The 4x4 transformation matrix.
Definition SoCompose.h:716
SoEngineOutput scaleOrientation
Derived rotational space for scaling.
Definition SoCompose.h:736
SoEngineOutput rotation
Derived rotation.
Definition SoCompose.h:730
SoEngineOutput translation
Derived translation in x, y, and z.
Definition SoCompose.h:727
SoEngineOutput scaleFactor
Derived scale values in x, y, and z.
Definition SoCompose.h:733
Rotation decomposition engine.
Definition SoCompose.h:569
SoMFRotation rotation
Rotation to be decomposed.
Definition SoCompose.h:576
SoEngineOutput angle
Angle (in radians) derived from the input.
Definition SoCompose.h:587
SoEngineOutput axis
Axis of rotation derived from the input.
Definition SoCompose.h:584
Vector decomposition engines.
Definition SoCompose.h:295
SoMFVec2f vector
Vector to be decomposed.
Definition SoCompose.h:302
SoEngineOutput x
First component of the vector.
Definition SoCompose.h:310
SoEngineOutput y
Second component of the vector.
Definition SoCompose.h:313
Decomposes 3D vectors into floating-point values.
Definition SoCompose.h:344
SoMFVec3f vector
Vector to be decomposed.
Definition SoCompose.h:351
SoEngineOutput z
Third component of the vector.
Definition SoCompose.h:365
SoEngineOutput y
Second component of the vector.
Definition SoCompose.h:362
SoEngineOutput x
First component of the vector.
Definition SoCompose.h:359
Decomposes 4D vectors into floating-point values.
Definition SoCompose.h:396
SoEngineOutput z
Third component of the vector.
Definition SoCompose.h:417
SoMFVec4f vector
Vector to be decomposed.
Definition SoCompose.h:403
SoEngineOutput w
Fourth component of the vector.
Definition SoCompose.h:420
SoEngineOutput y
Second component of the vector.
Definition SoCompose.h:414
SoEngineOutput x
First component of the vector.
Definition SoCompose.h:411
Class for all engine outputs.
Definition SoEngine.h:228
Base class for all engines.
Definition SoEngine.h:102
Multiple-value field containing any number of floating point values.
Definition SoMFFloat.h:82
Multiple-value field containing any number of 4x4 matrices.
Definition SoMFMatrix.h:82
Multiple-value field containing any number of SbRotations.
Multiple-value field containing any number of two-dimensional vectors.
Definition SoMFVec2f.h:83
Multiple-value field containing any number of three-dimensional vectors.
Definition SoMFVec3f.h:85
Multiple-value field containing any number of four-dimensional vectors.
Definition SoMFVec4f.h:85