![]() |
Polygon Crucher SDK - Documentation
Documentation
|
Public Member Functions | |
| C3DTVector (TYPE *val) | |
| C3DTVector (float x, float y, float z) | |
| C3DTVector (double x, double y, double z) | |
| C3DTVector (const C3DTPoint< TYPE > &point1, const C3DTPoint< TYPE > &point2) | |
| C3DTVector (const C3DTVector< TYPE > &vector) | |
| C3DTVector (const C3DTPoint< TYPE > &point) | |
| C3DTVector (const CQuaternion &quat) | |
| unsigned int | SizeOf () const |
| void | Init (float x=0.0f, float y=0.0f, float z=0.0f) |
| void | Init (double x=0.0, double y=0.0, double z=0.0) |
| void | InitFromPoint (const C3DTPoint< TYPE > &point) |
| void | InitFromPoints (const C3DTPoint< TYPE > &point1, const C3DTPoint< TYPE > &point2) |
| void | Swap (unsigned int swapMode) |
| void | SubstractTo (const C3DTVector &vect) |
| return this = vect-this, instead this = this-vect. This can be used for fast computation (using the standard operator return a C3DPointT) | |
| void | Offset (TYPE value) |
| Add value to x, y, z. | |
| bool | IsAnormal () const |
| either infinite or nan. Zero and denormalized value are allowed. | |
| bool | IsInfinite () const |
| Check if one of the coordinate has inf value. | |
| bool | IsNan (bool resetToZero=false) |
| Check if one of the coordinate has nan value. resetToZero nan = true, reset coordinates to zero if any. | |
| void | SelfNegate () |
| / operator - : negate each component (-x, -y, -z) | |
| void | SelfInvert () |
| / operator / : invert each component (1/x, 1/y, 1/z) | |
| C3DTVector & | SelfMult (const C3DTVector &vector) |
| Self multiply each component (x, y, z) with vect(x, y, z). This is not the scalar product !. No operation is done on a component if checkZero = true and one component is zero, otherwise division by zero will result in +/-inf. | |
| C3DTVector & | SelfDiv (const C3DTVector &vector, bool checkZero=true) |
| Self divide each component (x, y, z) with vect(x, y, z). This is not the scalar product ! | |
| C3DTVector | Mult (const C3DTVector &vector) const |
| Multiply each component (x, y, z) with vect(x, y, z). This is not the scalar product ! | |
| C3DTVector | Div (const C3DTVector &vector, bool checkZero=true) const |
| Divide each component (x, y, z) with vect(x, y, z). This is not the scalar product ! | |
| C3DTVector | Negate () const |
| / operator - : return negate of each component (-x, -y, -z) | |
| C3DTVector | NegateCheckZeroSign () const |
| / operator - : return negate of each component (-x, -y, -z). If a component is 0, it return a +0, never -0. | |
| C3DTVector | Invert () const |
| / operator / : return invert each component (1/x, 1/y, 1/z) | |
| C3DTVector | InvertCheckZeroSign () const |
| / operator / : return invert each component (1/x, 1/y, 1/z). If a component is -0, it does return +inf, never -inf. Use in some special circumstance, ie C3DTBBox::RayIntersect. | |
| C3DTVector & | operator= (const C3DTVector &vect) |
| C3DTVector & | operator= (const C3DTPoint< TYPE > &pt) |
| bool | operator== (const C3DTVector &src) const |
| bool | operator!= (const C3DTVector &src) const |
| C3DTVector | operator^ (const C3DTVector &vect) const |
| C3DTVector | operator+ (const C3DTVector &vect) const |
| C3DTVector | operator- (const C3DTVector &vect) const |
| C3DTVector | operator- () const |
| C3DTVector | operator* (double weight) const |
| double | operator* (const C3DTVector &vect) const |
| C3DTVector | operator/ (double weight) const |
| void | operator-= (const C3DTPoint< TYPE > &pt) |
| void | operator+= (const C3DTPoint< TYPE > &pt) |
| void | operator-= (const C3DTVector &vect) |
| void | operator+= (const C3DTVector &vect) |
| C3DTVector & | operator*= (double weight) |
| C3DTVector & | operator/= (double weight) |
| C3DVectorI | Floor () const |
| C3DVectorI | Ceil () const |
| template<class TYPE2 > | |
| C3DTVector (const C3DTVector< TYPE2 > &vect) | |
| template<class TYPE2 > | |
| C3DTVector (const C3DTPoint< TYPE2 > &pt) | |
| template<class TYPE2 > | |
| C3DTVector & | operator= (const C3DTVector< TYPE2 > &vect) |
| template<class TYPE2 > | |
| C3DTVector (const C3DTPoint< TYPE2 > &pt1, const C3DTPoint< TYPE2 > &pt2) | |
| bool | Normalize () |
| Return false if vector length is null. | |
| double | Length () const |
| double | Length2 () const |
| bool | IsNull (double precision=PRECISION_LIMIT) const |
| Compare vector to (0.0, 0.0, 0.0). Return true if equal, false otherwise. | |
| bool | IsUnit (double precision=PRECISION_LIMIT) const |
| Compare vector to (1.0, 1.0, 1.0). Return true if equal, false otherwise. | |
| bool | IsNormalized (double precision=FLOAT_EPSILON) const |
| Check if vector normalized. Return true if normalized, false otherwise. | |
| virtual void | To4DPoint (C4DPoint &pt) const |
| virtual CPt & | operator= (const C4DPoint &pt) |
| template<class TYPE2 > | |
| void | SetValues (const TYPE2 *values3t) |
| Set vector from 3 TYPE. | |
| void | GetFloat (float *values3f) const |
| Get vector and fill 3 floats. | |
| void | SetFloat (const float *values3f) |
| Set vector from 3 floats. | |
| void | GetDouble (double *values3d) const |
| Get vector and fill 3 doubles. | |
| void | SetDouble (const double *values3d) |
| Set vector from 3 doubles. | |
| virtual CPt & | operator= (const CPt &refpoint) |
| virtual void | Serialize (CXArchive &ar) |
| template<class TYPE2 > | |
| C3DTVector< TYPE > & | operator= (const C3DTVector< TYPE2 > &vect) |
Access functions | |
Get access to the vector x, y, z values | |
| TYPE & | operator[] (int i) |
| const TYPE & | operator[] (int i) const |
| TYPE * | ValPtr () |
| const TYPE * | ValPtr () const |
Public Member Functions inherited from CPt | |
| unsigned int | GetFlags () const |
| void | SetFlags (unsigned int flags) |
| void | SetFlag (POINT_PROPERTIES flag, bool set) |
| void | SetFlags (unsigned int flags, bool set) |
| bool | IsFlagSet (POINT_PROPERTIES flag) const |
| bool | IsOneFlagSet (int flag) const |
Public Attributes | |
| TYPE | x |
| TYPE | y |
| TYPE | z |
|
virtual |
Implements CPt.
|
virtual |
Reimplemented from CPt.
Reimplemented from CPt.
Implements CPt.