se_core::Tuple2 Class Reference

A generic 2 element tuple that is represented by point x,y coordinates. More...

#include <Tuple2.hpp>

Inheritance diagram for se_core::Tuple2:

se_core::Vector2 se_core::Point2 List of all members.

Public Types

enum  { DIMENSION = 2 }
 dimension More...

Public Member Functions

 Tuple2 (coor_t xvalue, coor_t yvalue)
 Constructs and initializes a Tuple from the specified xy coordinates.
 Tuple2 (const coor_t t[])
 Constructs and initializes a Tuple from the specified array.
 Tuple2 ()
 Constructs and initializes a Tuple2 to (0,0).
void set (coor_t xvalue, coor_t yvalue)
 Sets the value of this tuple to the specified xy coordinates.
void set (const coor_t t[])
 Sets the value of this tuple from the 2 values specified in the array.
void set (const Tuple2 &t1)
 Sets the value of this tuple to the value of the Tuple2 argument.
void get (coor_t t[]) const
 Copies the value of the elements of this tuple into the array t[].
void get (Tuple2 *t) const
 Gets the value of this tuple and copies the values into the Tuple2.
void add (const Tuple2 &t1, const Tuple2 &t2)
 Sets the value of this tuple to the vector sum of tuples t1 and t2.
void add (const Tuple2 &t1)
 Sets the value of this tuple to the vector sum of itself and tuple t1.
void sub (const Tuple2 &t1, const Tuple2 &t2)
 Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).
void sub (const Tuple2 &t1)
 Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).
void negate (const Tuple2 &t1)
 Sets the value of this tuple to the negation of tuple t1.
void negate ()
 Negates the value of this vector in place.
void scale (scale_t s, const Tuple2 &t1)
 Sets the value of this tuple to the scalar multiplication of tuple t1.
void scale (scale_t s)
 Sets the value of this tuple to the scalar multiplication of itself.
void scaleAdd (scale_t s, const Tuple2 &t1, const Tuple2 &t2)
 Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2).
void scaleAdd (scale_t s, const Tuple2 &t1)
 Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
bool equals (const Tuple2 &t1) const
 Returns true if all of the data members of Tuple2 t1 are equal to the corresponding data members in this.
bool isNan () const
bool epsilonEquals (const Tuple2 &t1, coor_t epsilon) const
 Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false.
void clamp (coor_t min, coor_t max, const Tuple2 &t)
 Clamps the tuple parameter to the range [low, high] and places the values into this tuple.
void clampMin (coor_t min, const Tuple2 &t)
 Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple.
void clampMax (coor_t max, const Tuple2 &t)
 Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple.
void absolute (const Tuple2 &t)
 Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple.
void clamp (coor_t min, coor_t max)
 Clamps this tuple to the range [low, high].
void clampMin (coor_t min)
 Clamps the minimum value of this tuple to the min parameter.
void clampMax (coor_t max)
 Clamps the maximum value of this tuple to the max parameter.
void absolute ()
 Sets each component of this tuple to its absolute value.
void interpolate (const Tuple2 &t1, const Tuple2 &t2, scale_t alpha)
 Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2.
void interpolate (const Tuple2 &t1, scale_t alpha)
 Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1.
char * toString (char *buffer) const
 Returns a string that contains the values of this Tuple2.
bool operator== (const Tuple2 &t1) const
coor_t operator[] (short index) const
coor_toperator[] (short index)
Tuple2operator= (const Tuple2 &t1)
Tuple2operator+= (const Tuple2 &t1)
Tuple2operator-= (const Tuple2 &t1)
Tuple2operator *= (scale_t s)
Tuple2 operator+ (const Tuple2 &t1) const
Tuple2 operator- (const Tuple2 &t1) const
Tuple2 operator * (scale_t s) const

Public Attributes

coor_t x_
 The x coordinate.
coor_t y_
 The y coordinate.

Detailed Description

A generic 2 element tuple that is represented by point x,y coordinates.

Java3D specification 1.1, implementation

Revision
1.4
,
Date
1999/10/22 08:37:10
Author:
Kenji hiranabe SagaEngine adaption

Rune Myrland

Definition at line 38 of file Tuple2.hpp.


Member Enumeration Documentation

anonymous enum
 

dimension

Enumeration values:
DIMENSION 

Definition at line 43 of file Tuple2.hpp.


Constructor & Destructor Documentation

se_core::Tuple2::Tuple2 coor_t  xvalue,
coor_t  yvalue
[inline]
 

Constructs and initializes a Tuple from the specified xy coordinates.

Parameters:
xvalue the x coordinate
yvalue the y coordinate

Definition at line 60 of file Tuple2.hpp.

se_core::Tuple2::Tuple2 const coor_t  t[]  )  [inline]
 

Constructs and initializes a Tuple from the specified array.

Parameters:
t the array of length 2 containing xy in order

Definition at line 66 of file Tuple2.hpp.

se_core::Tuple2::Tuple2  )  [inline]
 

Constructs and initializes a Tuple2 to (0,0).

Definition at line 72 of file Tuple2.hpp.


Member Function Documentation

void se_core::Tuple2::absolute  )  [inline]
 

Sets each component of this tuple to its absolute value.

Definition at line 319 of file Tuple2.hpp.

void se_core::Tuple2::absolute const Tuple2 t  )  [inline]
 

Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple.

Parameters:
t the source tuple, which will not be modified

Definition at line 279 of file Tuple2.hpp.

void se_core::Tuple2::add const Tuple2 t1  )  [inline]
 

Sets the value of this tuple to the vector sum of itself and tuple t1.

Parameters:
t1 the other tuple

Definition at line 136 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::add const Tuple2 t1,
const Tuple2 t2
[inline]
 

Sets the value of this tuple to the vector sum of tuples t1 and t2.

Parameters:
t1 the first tuple
t2 the second tuple

Definition at line 127 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::clamp coor_t  min,
coor_t  max
[inline]
 

Clamps this tuple to the range [low, high].

Parameters:
min the lowest value in this tuple after clamping
max the highest value in this tuple after clamping

Definition at line 289 of file Tuple2.hpp.

void se_core::Tuple2::clamp coor_t  min,
coor_t  max,
const Tuple2 t
[inline]
 

Clamps the tuple parameter to the range [low, high] and places the values into this tuple.

Parameters:
min the lowest value in the tuple after clamping
max the highest value in the tuple after clamping
t the source tuple, which will not be modified

Definition at line 246 of file Tuple2.hpp.

void se_core::Tuple2::clampMax coor_t  max  )  [inline]
 

Clamps the maximum value of this tuple to the max parameter.

Parameters:
max the highest value in the tuple after clamping

Definition at line 309 of file Tuple2.hpp.

void se_core::Tuple2::clampMax coor_t  max,
const Tuple2 t
[inline]
 

Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple.

Parameters:
max the highest value in the tuple after clamping
t the source tuple, which will not be modified

Definition at line 268 of file Tuple2.hpp.

void se_core::Tuple2::clampMin coor_t  min  )  [inline]
 

Clamps the minimum value of this tuple to the min parameter.

Parameters:
min the lowest value in this tuple after clamping

Definition at line 298 of file Tuple2.hpp.

void se_core::Tuple2::clampMin coor_t  min,
const Tuple2 t
[inline]
 

Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple.

Parameters:
min the lowest value in the tuple after clamping
t the source tuple, which will not be modified

Definition at line 257 of file Tuple2.hpp.

bool se_core::Tuple2::epsilonEquals const Tuple2 t1,
coor_t  epsilon
const
 

Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false.

The L-infinite distance is equal to MAX[abs(x1-x2), abs(y1-y2)].

Parameters:
t1 the tuple to be compared to this tuple
epsilon the threshold value

Definition at line 8 of file Tuple2.cpp.

References abs, x_, and y_.

bool se_core::Tuple2::equals const Tuple2 t1  )  const [inline]
 

Returns true if all of the data members of Tuple2 t1 are equal to the corresponding data members in this.

Parameters:
t1 the vector with which the comparison is made.

Definition at line 224 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::get Tuple2 t  )  const [inline]
 

Gets the value of this tuple and copies the values into the Tuple2.

Parameters:
t Tuple2 object into which that values of this object are copied

Definition at line 116 of file Tuple2.hpp.

References Assert, x_, and y_.

void se_core::Tuple2::get coor_t  t[]  )  const [inline]
 

Copies the value of the elements of this tuple into the array t[].

Parameters:
t the array that will contain the values of the vector asserting t has room for 2 values.

Definition at line 107 of file Tuple2.hpp.

void se_core::Tuple2::interpolate const Tuple2 t1,
scale_t  alpha
[inline]
 

Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1.

Parameters:
t1 the first tuple
alpha the alpha interpolation parameter

Definition at line 346 of file Tuple2.hpp.

References scale_t, x_, and y_.

void se_core::Tuple2::interpolate const Tuple2 t1,
const Tuple2 t2,
scale_t  alpha
[inline]
 

Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2.

Parameters:
t1 the first tuple
t2 the second tuple
alpha the alpha interpolation parameter

Definition at line 333 of file Tuple2.hpp.

bool se_core::Tuple2::isNan  )  const
 

Definition at line 21 of file Tuple2.cpp.

void se_core::Tuple2::negate  )  [inline]
 

Negates the value of this vector in place.

Definition at line 172 of file Tuple2.hpp.

void se_core::Tuple2::negate const Tuple2 t1  )  [inline]
 

Sets the value of this tuple to the negation of tuple t1.

Parameters:
t1 the source vector

Definition at line 164 of file Tuple2.hpp.

References x_, and y_.

Tuple2 se_core::Tuple2::operator * scale_t  s  )  const [inline]
 

Definition at line 413 of file Tuple2.hpp.

Tuple2& se_core::Tuple2::operator *= scale_t  s  )  [inline]
 

Definition at line 403 of file Tuple2.hpp.

Tuple2 se_core::Tuple2::operator+ const Tuple2 t1  )  const [inline]
 

Definition at line 407 of file Tuple2.hpp.

Tuple2& se_core::Tuple2::operator+= const Tuple2 t1  )  [inline]
 

Definition at line 395 of file Tuple2.hpp.

Tuple2 se_core::Tuple2::operator- const Tuple2 t1  )  const [inline]
 

Definition at line 410 of file Tuple2.hpp.

Tuple2& se_core::Tuple2::operator-= const Tuple2 t1  )  [inline]
 

Definition at line 399 of file Tuple2.hpp.

Tuple2& se_core::Tuple2::operator= const Tuple2 t1  )  [inline]
 

Reimplemented in se_core::Point2, and se_core::Vector2.

Definition at line 390 of file Tuple2.hpp.

bool se_core::Tuple2::operator== const Tuple2 t1  )  const [inline]
 

Definition at line 360 of file Tuple2.hpp.

coor_t& se_core::Tuple2::operator[] short  index  )  [inline]
 

Definition at line 376 of file Tuple2.hpp.

References Assert, and coor_t.

coor_t se_core::Tuple2::operator[] short  index  )  const [inline]
 

Definition at line 364 of file Tuple2.hpp.

References Assert, and coor_t.

void se_core::Tuple2::scale scale_t  s  )  [inline]
 

Sets the value of this tuple to the scalar multiplication of itself.

Parameters:
s the scalar value

Definition at line 191 of file Tuple2.hpp.

void se_core::Tuple2::scale scale_t  s,
const Tuple2 t1
[inline]
 

Sets the value of this tuple to the scalar multiplication of tuple t1.

Parameters:
s the scalar value
t1 the source tuple

Definition at line 182 of file Tuple2.hpp.

References x_, and y_.

Referenced by se_core::Point2::nearestPoint().

void se_core::Tuple2::scaleAdd scale_t  s,
const Tuple2 t1
[inline]
 

Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).

Parameters:
s the scalar value
t1 the tuple to be added

Definition at line 214 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::scaleAdd scale_t  s,
const Tuple2 t1,
const Tuple2 t2
[inline]
 

Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2).

Parameters:
s the scalar value
t1 the tuple to be multipled
t2 the tuple to be added

Definition at line 203 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::set const Tuple2 t1  )  [inline]
 

Sets the value of this tuple to the value of the Tuple2 argument.

Parameters:
t1 the tuple to be copied

Definition at line 97 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::set const coor_t  t[]  )  [inline]
 

Sets the value of this tuple from the 2 values specified in the array.

Parameters:
t the array of length 2 containing xy in order

Definition at line 88 of file Tuple2.hpp.

void se_core::Tuple2::set coor_t  xvalue,
coor_t  yvalue
[inline]
 

Sets the value of this tuple to the specified xy coordinates.

Parameters:
xvalue the x coordinate
yvalue the y coordinate

Definition at line 79 of file Tuple2.hpp.

Referenced by se_core::AreaEdge::distance(), se_basic::NavMesh::farthestLineOfSightXZ(), and se_core::Vector2::normalize().

void se_core::Tuple2::sub const Tuple2 t1  )  [inline]
 

Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).

Parameters:
t1 the other tuple

Definition at line 155 of file Tuple2.hpp.

References x_, and y_.

void se_core::Tuple2::sub const Tuple2 t1,
const Tuple2 t2
[inline]
 

Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).

Parameters:
t1 the first tuple
t2 the second tuple

Definition at line 146 of file Tuple2.hpp.

References x_, and y_.

Referenced by se_core::Point2::nearestPoint().

char * se_core::Tuple2::toString char *  buffer  )  const
 

Returns a string that contains the values of this Tuple2.

The form is (x,y).

Returns:
the String representation

Definition at line 15 of file Tuple2.cpp.


Member Data Documentation

coor_t se_core::Tuple2::x_
 

The x coordinate.

Definition at line 48 of file Tuple2.hpp.

Referenced by add(), se_core::Vector2::angle(), se_basic::NavMesh::barycentric(), se_core::Point2::distanceL1(), se_core::Point2::distanceLinf(), se_core::Point2::distanceSquared(), se_core::Vector2::dot(), epsilonEquals(), equals(), se_basic::NavMeshArea::farthestLineOfSight(), se_basic::NavMesh::farthestLineOfSightXZ(), get(), interpolate(), se_basic::NavMesh::isInsideTriangle(), se_core::Point2::left(), se_core::Point2::lineIntersect(), se_basic::Path::lineIntersect(), negate(), se_core::operator<<(), scale(), scaleAdd(), set(), sub(), and se_core::Point2::willAIntersectB().

coor_t se_core::Tuple2::y_
 

The y coordinate.

Definition at line 53 of file Tuple2.hpp.

Referenced by add(), se_core::Vector2::angle(), se_basic::NavMesh::barycentric(), se_core::Point2::distanceL1(), se_core::Point2::distanceLinf(), se_core::Point2::distanceSquared(), se_core::Vector2::dot(), epsilonEquals(), equals(), se_basic::NavMeshArea::farthestLineOfSight(), se_basic::NavMesh::farthestLineOfSightXZ(), get(), interpolate(), se_basic::NavMesh::isInsideTriangle(), se_core::Point2::left(), se_core::Point2::lineIntersect(), se_basic::Path::lineIntersect(), negate(), se_core::operator<<(), scale(), scaleAdd(), set(), sub(), and se_core::Point2::willAIntersectB().


The documentation for this class was generated from the following files:

Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:31 2007 by Doxygen version 1.3.9.1.

SourceForge.net Logo