cascaded-coords [class]
:super coordinates
:slots (parent descendants worldcoords manager changed)
-
- defines a linked coordinates. Cascaded-coords is often abbreviated
as cascoords.
:inheritance [method]
-
-
returns the inheritance tree list describing all the descendants of the
cascoords.
If a and b are the direct descendants of this coords,
and c is a descendant of a, ((a (c)) (b)) is returned.
:assoc childcoords &optional relative-coords [method]
-
-
childcoords is associated to this cascoords as a descendant.
If childcoords has been already assoc'ed to some other cascoords, first
childcoords is dissoc'ed since each cascoords can have only one parent.
The orientation or location of childcoords in the world does not change.
:dissoc childcoords [method]
-
-
dissociates (removes) childcoords from the descendants list of this coords.
The orientation or location of childcoords in the world does not change.
:changed [method]
-
-
informs this coords that the coordinates of parent has changed,
and the re-computation of worldcoords is needed when it is requested later.
:update [method]
-
-
is called by the :worldcoords method
to recompute the current worldcoord.
:worldcoords [method]
-
-
returns a coordinates object which represents this coord in the world
by concatenating all the cascoords from the root to this coords.
The result is held in this object and reused later.
Thus, you should not modify the resulted coords.
:worldpos [method]
-
- returns rot of this coordinates represented in
the world.
:worldrot [method]
-
- returns pos of this coordinates represented in
the world.
:transform-vector vec [method]
-
-
Regarding vec represented in this local coords,
transforms it to the representation in the world.
:inverse-transform-vector vec [method]
-
-
vec represented in the world is inversely transformed into the
representation in this local coords.
:inverse-transformation [method]
-
-
makes an instance of coordinates which represents inverse transformation
of this coord.
:transform trans &optional (wrt :local) [method]
-
-
:translate fltvec &optional (wrt :local) [method]
-
-
:locate fltvec &optional (wrt :local) [method]
-
-
:rotate theta axis &optional (wrt :local) [method]
-
-
:orient theta axis &optional (wrt :local) [method]
-
-
Refer to the descriptions in class coordinates.
make-coords &key :pos :rot :rpy :Euler :angle :axis :4X4 :coords :name [function]
-
-
make-cascoords &key :pos :rot :rpy :Euler :angle :axis :4X4 :coords :name [function]
-
-
coords &key :pos :rot :rpy :Euler :angle :axis :4X4 :coords :name [function]
-
-
cascoords &key :pos :rot :rpy :Euler :angle :axis
:4X4 :coords :name [function]
-
-
All these functions make new coordinates or cascaded-coordinates.
For the keyword parameter, see :init method of class coordinates.
transform-coords coords1 coords2 &optional (coords3 (coords)) [function]
-
-
Coords1 is applied (multiplied) to the coords2 from the left.
The product is stored in coords3.
transform-coords* &rest coords [function]
-
-
concatenates transformations listed in coords.
An instance of coordinates that represents the concatenated transformation
is returned.
wrt coords vec [function]
-
-
transforms vec into the representation in coords.
The result is equivalent to
(send coords :transform-vector vec).
k-okada
2013-05-21