|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Axis3D.Interface
Usualy Axis3D are used to define 3D scene objects local axis.
Axis3D can also be useful to compute 3D space math & transformations.
IScene3DObject
,
IPoint3D
Method Summary | |
IAxis3D |
add(double x,
double y,
double z)
Add/Move this axis by a given vector. |
IAxis3D |
add(IPoint3D point)
Add/Move this axis by a given 3d point. |
IAxis3D |
copy(IAxis3D source)
Copy value from an other axis3D. |
IPoint3D |
getAX()
Gets a snapshot of the x axis (ax) in the current space. |
IPoint3D |
getAY()
Gets a snapshot of the y axis (ay) in the current space. |
IPoint3D |
getAZ()
Gets a snapshot of the z axis (az) in the current space. |
IPoint3D |
getOrigin()
Gets origine for axis3D in the current space. |
IAxis3D |
getRotationXZY(IPoint3D rotation)
Update the given 3d point with the rotation of this axis. |
IAxis3D |
init()
Initialise this axis3D. |
IAxis3D |
rotate(double angle,
double x,
double y,
double z)
Rotate this axis3D around and arbitrary axis. |
IAxis3D |
rotate(double angle,
double px,
double py,
double pz,
double x,
double y,
double z)
Rotate this axis3D around and arbitrary axis using a specific pivot point. |
IAxis3D |
rotate(double angle,
double px,
double py,
double pz,
IPoint3D axis)
Rotate this axis3D around and arbitrary axis using a specific pivot point. |
IAxis3D |
rotate(double angle,
IPoint3D axis)
Rotate this axis3D around and arbitrary axis. |
IAxis3D |
rotate(double angle,
IPoint3D pivot,
IPoint3D axis)
Rotate this axis3D around and arbitrary axis using a specific pivot point. |
IAxis3D |
rotateX(double angle)
Rotate this axis3D around the X axis. |
IAxis3D |
rotateY(double angle)
Rotate this axis3D around the Y axis. |
IAxis3D |
rotateZ(double angle)
Rotate this axis3D around the Z axis. |
IAxis3D |
set(IPoint3D position,
IPoint3D rotation)
Update this Axis3D using given position & rotation. |
IAxis3D |
set(IPoint3D pivot,
IPoint3D position,
IPoint3D rotation)
Update this Axis3D using given pivot,position & rotation. |
IAxis3D |
sub(double x,
double y,
double z)
Substract/Move this axis by a given vector. |
IAxis3D |
sub(IPoint3D point)
Substract/Move this axis by a given 3d point. |
IAxis3D |
toAxis(IAxis3D a)
Put this axis in the given axis space |
IAxis3D |
toLocalAxis(IAxis3D a)
Transform this axis values into the local axis a |
Method Detail |
public IPoint3D getAX()
public IPoint3D getAY()
public IPoint3D getAZ()
public IPoint3D getOrigin()
public IAxis3D copy(IAxis3D source)
source
- source axis3D to copy value from.
public IAxis3D rotateX(double angle)
X axis means vector(1,0,0) and does not means this axis AX vector.
You may call myaxis.rotate(angle,myaxis.getAX()) to rotate "myaxis" around it own AX axis.
angle
- rotation angle expressed in radian.
public IAxis3D rotateY(double angle)
Y axis means vector(0,1,0) and does not means this axis AY vector.
You may call myaxis.rotate(angle,myaxis.getAY()) to rotate "myaxis" around it own AY axis.
angle
- rotation angle expressed in radian.
public IAxis3D rotateZ(double angle)
Z axis means vector(0,0,1) and does not means this axis AZ vector.
You may call myaxis.rotate(angle,myaxis.getAZ()) to rotate "myaxis" around it own AZ axis.
angle
- rotation angle expressed in radian.
public IAxis3D rotate(double angle, double x, double y, double z)
angle
- rotation angle expressed in radian.x
- rotation axis x component.y
- rotation axis y component.z
- rotation axis z component.
public IAxis3D rotate(double angle, double px, double py, double pz, double x, double y, double z)
angle
- rotation angle expressed in radian.px
- pivot point x position.py
- pivot point y position.pz
- pivot point z position.x
- rotation axis x component relative to pivot point.y
- rotation axis y component relative to pivot point.z
- rotation axis z component relative to pivot point.
public IAxis3D rotate(double angle, IPoint3D axis)
angle
- rotation angle expressed in radian.axis
- rotation axis.
public IAxis3D rotate(double angle, double px, double py, double pz, IPoint3D axis)
angle
- rotation angle expressed in radian.px
- pivot point x position.py
- pivot point y position.pz
- pivot point z position.axis
- rotation axis relative to pivot point.
public IAxis3D rotate(double angle, IPoint3D pivot, IPoint3D axis)
angle
- rotation angle expressed in radian.pivot
- pivot point.axis
- rotation axis relative to pivot point.
public IAxis3D add(double x, double y, double z)
x
- vector x component.y
- vector y component.z
- vector z component.
public IAxis3D sub(double x, double y, double z)
x
- vector x component.y
- vector y component.z
- vector z component.
public IAxis3D add(IPoint3D point)
point
- vector.
public IAxis3D sub(IPoint3D point)
point
- vector.
public IAxis3D getRotationXZY(IPoint3D rotation)
this function will update the given point3d with the rotations
that must be applied to a new axis3D to get the same axis.
ex:
axis.getRotationXZY(rotation);
To get a new axis3D aligned to this axis you can do the following:
newAxis.rotateX(rotation.getX()).rotateZ(rotation.getZ()).rotateY(rotation.getY())
Note: rotations must be applied in the following order : RX,RZ,RY.
rotation
- point that will received the axis3D rotation rx,ry,rz.
public IAxis3D toLocalAxis(IAxis3D a)
a
- an axis to transform axis to
public IAxis3D toAxis(IAxis3D a)
a
- an axis to transform to its space
public IAxis3D init()
this function will do the following
- set Origin to (0,0,0)
- set AX to (1,0,0)
- set AY to (0,1,0)
- set AZ to (0,0,1)
public IAxis3D set(IPoint3D pivot, IPoint3D position, IPoint3D rotation)
pivot
- pivot to useposition
- position to userotation
- rotation to use
public IAxis3D set(IPoint3D position, IPoint3D rotation)
position
- position to userotation
- rotation to use
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |