org.pilotix.client.j3d
Class J3DCamera

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Group
              extended by javax.media.j3d.BranchGroup
                  extended by org.pilotix.client.j3d.J3DCamera

public class J3DCamera
extends javax.media.j3d.BranchGroup

Cette classe regroupe les classes Java3D à instancier pour voir ce qui se passe dans le monde virtuel de Pilotix.

Techniquement, cette classe doit être utilisée comme un TransformGroup. Elle crée un objet View, un ViewPlatform et un Transform3D.

Author:
Grégoire Colbert
See Also:
BranchGroup, TransformGroup, ViewPlatform, View, Transform3D

Field Summary
 
Fields inherited from class javax.media.j3d.BranchGroup
ALLOW_DETACH
 
Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
 
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
J3DCamera(javax.media.j3d.Canvas3D aCanvas3D)
          Crée un TransformGroup et le remplit avec une ViewPlatform, une View et une matrice Transform3D qui sert à stocker la position de la caméra.
 
Method Summary
 float getAngleYOZ()
          Renvoie la distance entre cette caméra et l'objet à laquelle elle est rattachée.
 float getDistanceFromParent()
          Renvoie la distance entre cette caméra et l'objet à laquelle elle est rattachée.
 javax.media.j3d.View getView()
          Renvoie l'objet View de cette caméra, qui référence le Canvas3D sur lequel se fait l'affichage.
 void lookAtOriginRotX(float dist, float angle)
          Cette méthode place la caméra, par rapport à son noeud-père, à une distance "dist" et lui donne un angle "angle" par rapport au plan xOy.
 void setCoordinates(float x, float y, float z)
          Met la caméra à la position (x, y, z) fournie.
 
Methods inherited from class javax.media.j3d.BranchGroup
cloneNode, compile, detach, pickAll, pickAll, pickAllSorted, pickAllSorted, pickAny, pickAny, pickClosest, pickClosest
 
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

J3DCamera

public J3DCamera(javax.media.j3d.Canvas3D aCanvas3D)
Crée un TransformGroup et le remplit avec une ViewPlatform, une View et une matrice Transform3D qui sert à stocker la position de la caméra. Nous appelons finalement la méthode setCoordinates avec x=0.0f, y=0.0f et z=200.0f ce qui place la caméra au dessus des objets du BranchGroup où ce TransformGroup est ajouté (le x et le y sont relatifs au BranchGroup).

Parameters:
aCanvas3D - le Canvas3D où vous voulez afficher les images vues par cette caméra.
See Also:
TransformGroup, ViewPlatform, View, Transform3D
Method Detail

setCoordinates

public void setCoordinates(float x,
                           float y,
                           float z)
Met la caméra à la position (x, y, z) fournie. Nous faisons cela en appliquant un objet Vector3f au champ Transform3D de la caméra. Ces valeurs sont relatives au noeud-père de cet objet J3DCamera.


lookAtOriginRotX

public void lookAtOriginRotX(float dist,
                             float angle)
Cette méthode place la caméra, par rapport à son noeud-père, à une distance "dist" et lui donne un angle "angle" par rapport au plan xOy. Il y a donc une rotation d'angle alpha autour de l'axe Ox, et une translation sur Oy et sur Oz de telle sorte que la distance entre l'origine du repère et la caméra soit égale à "dist". L'effet obtenu est que la caméra pointe vers l'origine du noeud-père avec un angle "angle".


getDistanceFromParent

public float getDistanceFromParent()
Renvoie la distance entre cette caméra et l'objet à laquelle elle est rattachée.


getAngleYOZ

public float getAngleYOZ()
Renvoie la distance entre cette caméra et l'objet à laquelle elle est rattachée.


getView

public javax.media.j3d.View getView()
Renvoie l'objet View de cette caméra, qui référence le Canvas3D sur lequel se fait l'affichage.

Returns:
l'objet View de cette caméra


artefarita.com/pilotix Pilotix 2003-2013 - Stilisto : G.C.