Node: Returning Coordinates, Next: Returning Information for Points, Previous: Querying Points, Up: Point Reference
The functions in this section return either a single coordinate or a set of
coordinates. Each has
a const
and a nonconst
version.
The arguments are the same, with one exception:
char
c
get_coord()
. Indicates which coordinate should be
returned. Valid values are 'x'
, 'X'
, 'y'
,
'Y'
, 'z'
, 'Z'
, 'w'
, and 'W'
.
char
coords
'w'
for world_coordinates
(the default), 'p'
for
projective_coordinates
, 'u'
for user_coordinates
,
and 'v'
for view_coordinates
.
const bool
do_persp
projective_coordinates
, or one of its elements
is to be returned. If true
, the
default, then project()
is called, thereby generating values for
projective_coordinates
. If do_persp is false
, then
projective_coordinates
, or one of its elements, is
returned unchanged, which may sometimes be useful.
const bool
do_apply
true
(the default), apply_transform()
is called,
thereby updating the world_coordinates
. Otherwise, it's not, so
that the values stored in world_coordinates
remain unchanged.
Note that if coords is 'p'
and do_persp is true
,
apply_transform()
will be called in project()
whether do_apply
is true
or false
. If for some
reason, one wanted get projective_coordinates
, or one of its
values, based on the
projection of world_coordinates
without first updating them, one
would have to call reset_transform()
before calling one of
these functions. It would probably be a good idea to save transform
before doing so.
Focus*
f
Focus
is to be used for projection.
Only relevant if coords
is 'p'
, i.e.,
projective_coordinates
, or one of its elements, is to be
returned. The default is 0, in which case f points to the global
variable default_focus
.
const unsigned short
proj
coords
is 'p'
, i.e.,
projective_coordinates
, or one of its elements, is to be
returned. The default is Projections::PERSP
, which causes the
perspective projection to be applied.
real
factor
project()
. The values of the x and y coordinates in
projective_coordinates
are multiplied by factor.
Only relevant if coords
is 'p'
, i.e.,
projective_coordinates
, or one of its elements, is to be
returned. The default is 1.
valarray <real> get_all_coords ([char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP, [real factor = 1]]]]]])  Function 
Returns one of the sets of coordinates; world_coordinates by
default.
Returns a complete set of coordinates: 'w' for world_coordinates ,
'p' for projective_coordinates , 'u' for
user_coordinates , or'v' for view_coordinates .

real get_coord (char c, [char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP , [real factor = 1]]]]]])

Function 
Returns one coordinate , x, y, z, or w, from the set of
coordinates indicated (or world_coordinates , by default).

real get_x ([char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP, [real factor = 1]]]]]])  Function 
Returns the xcoordinate from the set of coordinates indicated (or
world_coordinates , by default).

real get_y ([char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP, [real factor = 1]]]]]])  Function 
Returns the ycoordinate from the set of coordinates indicated (or
world_coordinates , by default).

real get_z ([char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP, [real factor = 1]]]]]])  Function 
Returns the zcoordinate from the set of coordinates indicated (or
world_coordinates , by default).

real get_w ([char coords = 'w', [const bool do_persp = true, [const bool do_apply = true, [Focus* f = 0, [const unsigned short proj = Projections::PERSP, [real factor = 1]]]]]])  Function 
Returns the wcoordinate from the set of coordinates indicated (or
world_coordinates , by default).
