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 
127 public:
129 
130 
133 
136 
138 
140 
141 
144 
146 
147 };
150 
177 
180 public:
182 
183 
186 
189 
192 
194 
196 
197 
200 
202 
203 };
206 
234 
237 public:
239 
240 
243 
246 
249 
252 
254 
256 
257 
260 
262 
263 };
264 
271 
294 
297 public:
299 
300 
303 
305 
307 
308 
311 
314 
316 
317 };
320 
343 
346 public:
348 
349 
352 
354 
356 
357 
360 
363 
366 
368 
369 };
372 
395 
398 public:
400 
401 
404 
406 
408 
409 
412 
415 
418 
421 
423 
424 };
425 
432 
459 
462 public:
464 
465 
468 
471 
473 
475 
476 
479 
481 
482 };
485 
513 
516 public:
518 
519 
522 
525 
527 
529 
530 
533 
535 
536 };
537 
538 
545 
568 
571 public:
573 
574 
577 
579 
581 
582 
585 
588 };
589 
591 
592 
599 
631 
634 public:
636 
637 
640 
643 
646 
649 
652 
654 
656 
657 
661 
663 
664 };
665 
666 
678 
708 
711 public:
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:81
#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.
Definition: SoMFRotation.h:89
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