25#ifndef _SO_PROJECTION_
26#define _SO_PROJECTION_
28#include <Inventor/fields/SoSFBool.h>
29#include <Inventor/fields/SoMFFloat.h>
30#include <Inventor/fields/SoMFVec3f.h>
31#include <Inventor/fields/SoMFString.h>
32#include <Inventor/fields/SoSFFloat.h>
33#include <Inventor/fields/SoSFEnum.h>
34#include <Inventor/fields/SoSFMatrix.h>
36#include <Inventor/STL/vector>
37#include <Inventor/projection/SbProjection.h>
38#include <Inventor/actions/SoCallbackAction.h>
39#include <Inventor/actions/SoGLRenderAction.h>
40#include <Inventor/actions/SoGetBoundingBoxAction.h>
41#include <Inventor/actions/SoGetMatrixAction.h>
42#include <Inventor/actions/SoHandleEventAction.h>
45#pragma warning( push )
46#pragma warning( disable: 4251 )
210 {
return m_projection; }
224 virtual void doAction (
SoAction *action );
225 virtual void GLRender (
SoGLRenderAction *action ){
return doAction( action );}
226 virtual void callback (
SoCallbackAction *action ){
return doAction( action );}
228 virtual void getMatrix (
SoGetMatrixAction *action ){
return doAction( action );}
230 virtual void pick (
SoPickAction *action ){
return doAction( action );}
231 virtual void rayPick (
SoRayPickAction *action ){
return doAction( action );}
235 static void initClass();
236 static void exitClass();
264 static void parametersChangedCB(
void *data,
SoSensor* );
266 static void typeIdChangedCB(
void *data,
SoSensor* );
274 std::vector< int > m_projIds;
277 std::vector< SbString > m_projNames;
280 std::vector< SbProjection *> m_projections;
291 SbBool m_enableDeleteValues;
303#pragma warning( pop )
Base class for coordinate projection classes.
Spherical coordinate projection.
Class for smart character strings.
Abstract base class for all actions.
Performs a generic traversal of a scene graph or path.
Sensor class that can be attached to Open Inventor fields.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Computes transformation matrix for a subgraph.
Allows nodes in a graph to receive input events.
Multiple-value field containing any number of floating point values.
Multiple-value field containing any number of strings.
Multiple-value field containing any number of three-dimensional vectors.
Abstract base class for all database nodes.
Abstract base class for picking objects in a scene.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Coordinate proje...
SoSFInt32 projTypeId
Current projection id.
SoSFMatrix matrix
Matrix that can be applied before projecting a point.
static SbVec3f * checkProjection(SoState *state, SoNode *node, int32_t numCoords, const SbVec3f *coords)
Apply projection to given coordinates.
SoSFBool isOn
If set to FALSE, projection is inactive.
void setProjection(SbProjection *projection)
Set the current projection.
SoMFString parametersIn
String parameters stored for projections.
SbProjection * getProjection() const
Return current projection.
SoMFString parameters
String parameters stored for projections.
SoProjection()
Constructor.
void getCurrentProjectionInfos(SbString &name, int &id)
Return current projection name and id.
SoMFFloat floatParameters
Float parameters stored for projections.
void addProjection(SbString &projectionName, SbProjection *projection, int id)
Add a projection with the given name and id to the list.
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Field containing a int32_t integer.
Field containing a 4x4 matrix.
Abstract base class for Open Inventor sensors.