| 1 | 
< | 
 /* | 
| 1 | 
> | 
/* | 
| 2 | 
  | 
 * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. | 
| 3 | 
  | 
 * | 
| 4 | 
  | 
 * The University of Notre Dame grants you ("Licensee") a | 
| 66 | 
  | 
  public: | 
| 67 | 
  | 
    typedef Real ElemType; | 
| 68 | 
  | 
    typedef Real* ElemPoinerType; | 
| 69 | 
– | 
     | 
| 69 | 
  | 
    Vector3() : Vector<Real, 3>(){} | 
| 70 | 
  | 
     | 
| 71 | 
  | 
    /** Constructs and initializes a Vector3 from x, y, z coordinates */ | 
| 72 | 
  | 
    inline Vector3( Real x, Real y, Real z) { | 
| 73 | 
< | 
      data_[0] = x; | 
| 74 | 
< | 
      data_[1] = y; | 
| 75 | 
< | 
      data_[2] = z; | 
| 73 | 
> | 
      this->data_[0] = x; | 
| 74 | 
> | 
      this->data_[1] = y; | 
| 75 | 
> | 
      this->data_[2] = z; | 
| 76 | 
  | 
    } | 
| 77 | 
  | 
 | 
| 78 | 
  | 
    /** Constructs and initializes from an array*/ | 
| 90 | 
  | 
     * Retunrs reference of the first element of Vector3. | 
| 91 | 
  | 
     * @return reference of the first element of Vector3 | 
| 92 | 
  | 
     */ | 
| 93 | 
< | 
    inline Real& x() {  return data_[0];} | 
| 93 | 
> | 
    inline Real& x() {  return this->data_[0];} | 
| 94 | 
  | 
     | 
| 95 | 
  | 
    /** | 
| 96 | 
  | 
     * Retunrs the first element of Vector3. | 
| 97 | 
  | 
     * @return  the first element of Vector3 | 
| 98 | 
  | 
     */ | 
| 99 | 
< | 
    inline Real x() const {  return data_[0];} | 
| 99 | 
> | 
    inline Real x() const {  return this->data_[0];} | 
| 100 | 
  | 
     | 
| 101 | 
  | 
    /** | 
| 102 | 
  | 
     * Retunrs reference of the second element of Vector3. | 
| 103 | 
  | 
     * @return reference of the second element of Vector3 | 
| 104 | 
  | 
     */ | 
| 105 | 
< | 
    inline Real& y() {  return data_[1];} | 
| 105 | 
> | 
    inline Real& y() {  return this->data_[1];} | 
| 106 | 
  | 
     | 
| 107 | 
  | 
    /** | 
| 108 | 
  | 
     * Retunrs  the second element of Vector3. | 
| 109 | 
  | 
     * @return c the second element of Vector3 | 
| 110 | 
  | 
     */ | 
| 111 | 
< | 
    inline Real y() const {  return data_[1];} | 
| 111 | 
> | 
    inline Real y() const {  return this->data_[1];} | 
| 112 | 
  | 
     | 
| 113 | 
  | 
    /** | 
| 114 | 
  | 
     * Retunrs reference of the third element of Vector3. | 
| 115 | 
  | 
     * @return reference of the third element of Vector3 | 
| 116 | 
  | 
     */ | 
| 117 | 
< | 
    inline Real& z() {  return data_[2];} | 
| 117 | 
> | 
    inline Real& z() {  return this->data_[2];} | 
| 118 | 
  | 
     | 
| 119 | 
  | 
    /** | 
| 120 | 
  | 
     * Retunrs  the third element of Vector3. | 
| 121 | 
  | 
     * @return f the third element of Vector3 | 
| 122 | 
  | 
     */ | 
| 123 | 
< | 
    inline Real z() const {  return data_[2];} | 
| 123 | 
> | 
    inline Real z() const {  return this->data_[2];} | 
| 124 | 
  | 
     | 
| 125 | 
  | 
  }; | 
| 126 | 
  | 
   | 
| 146 | 
  | 
   | 
| 147 | 
  | 
  typedef Vector3<double> Vector3d;     | 
| 148 | 
  | 
 | 
| 149 | 
< | 
    const Vector3d V3Zero(0.0 , 0.0, 0.0); | 
| 150 | 
< | 
    const Vector3d V3X( 1.0, 0.0, 0.0 ) ; | 
| 151 | 
< | 
    const Vector3d V3Y( 0.0, 1.0, 0.0 ) ; | 
| 152 | 
< | 
    const Vector3d V3Z ( 0.0, 0.0, 1.0 ) ;     | 
| 149 | 
> | 
  const Vector3d V3Zero(0.0 , 0.0, 0.0); | 
| 150 | 
> | 
  const Vector3d V3X( 1.0, 0.0, 0.0 ) ; | 
| 151 | 
> | 
  const Vector3d V3Y( 0.0, 1.0, 0.0 ) ; | 
| 152 | 
> | 
  const Vector3d V3Z ( 0.0, 0.0, 1.0 ) ;     | 
| 153 | 
  | 
   | 
| 154 | 
  | 
} | 
| 155 | 
  | 
 |