|
| UTMCamera (void) |
|
virtual void | callback (SoCallbackAction *action) |
|
virtual void | GLRender (SoGLRenderAction *action) |
|
virtual void | audioRender (class SoAudioRenderAction *action) |
|
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
|
virtual void | handleEvent (SoHandleEventAction *action) |
|
virtual void | rayPick (SoRayPickAction *action) |
|
virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action) |
|
virtual void | getMatrix (SoGetMatrixAction *action) |
|
void | getPosition (double &easting, double &northing, double &elevation) |
|
virtual SoType | getTypeId (void) const |
|
| SoPerspectiveCamera (void) |
|
virtual void | scaleHeight (float scalefactor) |
|
virtual SbViewVolume | getViewVolume (float useaspectratio=0.0f) const |
|
virtual void | viewBoundingBox (const SbBox3f &box, float aspect, float slack) |
|
SbViewVolume | getViewVolume (const SbViewportRegion &vp, SbViewportRegion &resultvp, const SbMatrix &mm=SbMatrix::identity()) const |
|
void | pointAt (const SbVec3f &targetpoint) |
|
void | pointAt (const SbVec3f &targetpoint, const SbVec3f &upvector) |
|
void | viewAll (SoNode *const sceneroot, const SbViewportRegion &vpregion, const float slack=1.0f) |
|
void | viewAll (SoPath *const path, const SbViewportRegion &vpregion, const float slack=1.0f) |
|
SbViewportRegion | getViewportBounds (const SbViewportRegion ®ion) const |
|
void | setStereoMode (StereoMode mode) |
|
StereoMode | getStereoMode (void) const |
|
void | setStereoAdjustment (float adjustment) |
|
float | getStereoAdjustment (void) const |
|
void | setBalanceAdjustment (float adjustment) |
|
float | getBalanceAdjustment (void) const |
|
virtual void | doAction (SoAction *action) |
|
void | setOverride (const SbBool state) |
|
SbBool | isOverride (void) const |
|
void | setNodeType (const NodeType type) |
|
NodeType | getNodeType (void) const |
|
virtual SoNode * | copy (SbBool copyconnections=FALSE) const |
|
virtual SbBool | affectsState (void) const |
|
virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
|
virtual void | GLRenderInPath (SoGLRenderAction *action) |
|
virtual void | GLRenderOffPath (SoGLRenderAction *action) |
|
virtual void | pick (SoPickAction *action) |
|
virtual void | search (SoSearchAction *action) |
|
virtual void | write (SoWriteAction *action) |
|
virtual void | grabEventsSetup (void) |
|
virtual void | grabEventsCleanup (void) |
|
virtual void | startNotify (void) |
|
SbUniqueId | getNodeId (void) const |
|
virtual SoChildList * | getChildren (void) const |
|
virtual void | writeInstance (SoOutput *out) |
|
virtual SoNode * | addToCopyDict (void) const |
|
virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections) |
|
virtual SoFieldContainer * | copyThroughConnection (void) const |
|
void | setToDefaults (void) |
|
SbBool | hasDefaultValues (void) const |
|
SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
|
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
|
SbBool | set (const char *const fielddata) |
|
void | get (SbString &fielddata) |
|
virtual int | getFields (SoFieldList &l) const |
|
virtual int | getAllFields (SoFieldList &l) const |
|
virtual SoField * | getField (const SbName &name) const |
|
virtual SoField * | getEventIn (const SbName &name) const |
|
virtual SoField * | getEventOut (const SbName &name) const |
|
SbBool | getFieldName (const SoField *const field, SbName &name) const |
|
SbBool | enableNotify (const SbBool flag) |
|
SbBool | isNotifyEnabled (void) const |
|
SbBool | set (const char *fielddata, SoInput *input) |
|
void | get (SbString &fielddata, SoOutput *out) |
|
virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
|
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
|
SbBool | getIsBuiltIn (void) const |
|
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
|
void | setUserData (void *userdata) const |
|
void * | getUserData (void) const |
|
void | ref (void) const |
|
void | unref (void) const |
|
void | unrefNoDelete (void) const |
|
int32_t | getRefCount (void) const |
|
void | touch (void) |
|
SbBool | isOfType (SoType type) const |
|
virtual SbName | getName (void) const |
|
virtual void | setName (const SbName &newname) |
|
void | addAuditor (void *const auditor, const SoNotRec::Type type) |
|
void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
|
const SoAuditorList & | getAuditors (void) const |
|
SbBool | shouldWrite (void) |
|
void | assertAlive (void) const |
|
|
static void | initClass (void) |
|
static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
|
static SoNode * | getByName (const SbName &name) |
|
static int | getByName (const SbName &name, SoNodeList &l) |
|
static void | initClasses (void) |
|
static SbUniqueId | getNextNodeId (void) |
|
static int | getActionMethodIndex (const SoType type) |
|
static void | getBoundingBoxS (SoAction *action, SoNode *node) |
|
static void | GLRenderS (SoAction *action, SoNode *node) |
|
static void | callbackS (SoAction *action, SoNode *node) |
|
static void | getMatrixS (SoAction *action, SoNode *node) |
|
static void | handleEventS (SoAction *action, SoNode *node) |
|
static void | pickS (SoAction *action, SoNode *node) |
|
static void | rayPickS (SoAction *action, SoNode *node) |
|
static void | searchS (SoAction *action, SoNode *node) |
|
static void | writeS (SoAction *action, SoNode *node) |
|
static void | audioRenderS (SoAction *action, SoNode *node) |
|
static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
|
static void | initCopyDict (void) |
|
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
|
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
|
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
|
static void | copyDone (void) |
|
static void | initClass (void) |
|
static SoType | getClassTypeId (void) |
|
static void | addName (SoBase *const base, const char *const name) |
|
static void | removeName (SoBase *const base, const char *const name) |
|
static void | incrementCurrentWriteCounter (void) |
|
static void | decrementCurrentWriteCounter (void) |
|
static SoBase * | getNamedBase (const SbName &name, SoType type) |
|
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
|
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
|
static void | setInstancePrefix (const SbString &c) |
|
static void | setTraceRefs (SbBool trace) |
|
static SbBool | getTraceRefs (void) |
|
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
|
static SbBool | readRoute (SoInput *input) |
|
The UTMCamera class defines a camera node with perspective rendering and an UTM position.
This node adds a field utmposition to the perspective camera node. utmposition is a vector which contains 3 values for easting, northing and elevation.
The position vector moves the camera relative to the UTM position. Use this camera instead of a normal SoPerspectiveCamera if you plan to operate on large floating point coordinates that might cause floating point precision to become too low. This is typically useful if you want to place objects using, for instance, UTM coordinates.
To perhaps better understand how it works, think of it this way: when scene graph traversal arrives at an UTMCamera, all transformation matrices will be set to identity, i.e. no transformations, so the camera position (for OpenGL) will be set at world origo (0,0,0). When a UTMPosition node is then later encountered during traversal, a transformation will be added which translates geometry to its correct position relative to the UTMCamera setting.
As the camera will always be positioned in (0,0,0) for OpenGL with this scheme, we get the advantage of maximum precision for floating point numbers.
- See also
- UTMPosition, UTMCoordinate