Changeset 3958 in orxonox.OLD for orxonox/branches/particleEngine/src/lib
- Timestamp:
- Apr 25, 2005, 2:49:51 PM (20 years ago)
- Location:
- orxonox/branches/particleEngine/src/lib
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/particleEngine/src/lib/coord/p_node.h
r3957 r3958 57 57 58 58 59 inline VectorgetRelCoor () const { return this->relCoordinate; }59 inline const Vector& getRelCoor () const { return this->relCoordinate; } 60 60 void setRelCoor (const Vector& relCoord); 61 inline VectorgetAbsCoor () const { return this->absCoordinate; }61 inline const Vector& getAbsCoor () const { return this->absCoordinate; } 62 62 void setAbsCoor (const Vector& absCoord); 63 63 void shiftCoor (const Vector& shift); 64 64 65 inline QuaterniongetRelDir () const { return this->relDirection; }65 inline const Quaternion& getRelDir () const { return this->relDirection; } 66 66 void setRelDir (const Quaternion& relDir); 67 inline QuaterniongetAbsDir () const { return this->absDirection; }67 inline const Quaternion& getAbsDir () const { return this->absDirection; } 68 68 void setAbsDir (const Quaternion& absDir); 69 69 void shiftDir (const Quaternion& shift); -
orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc
r3951 r3958 134 134 randDir.normalize(); 135 135 randDir = (this->getAbsDir()*Quaternion(angle + randomAngle *((float)random()/RAND_MAX -.5), randDir)).apply(this->direction); 136 randDir = *randDir.getNormalized()*velocity + (this->getVelocity() * system->inheritSpeed);136 randDir = randDir.getNormalized()*velocity + (this->getVelocity() * system->inheritSpeed); 137 137 138 138 system->addParticle(this->getAbsCoor(), randDir); -
orxonox/branches/particleEngine/src/lib/math/vector.cc
r3951 r3958 100 100 */ 101 101 102 Vector*Vector::getNormalized()102 const Vector Vector::getNormalized() 103 103 { 104 104 float l = len(); 105 105 if(unlikely(l != 1.0)) 106 106 { 107 return this;107 return *this; 108 108 } 109 109 else if(unlikely(l == 0.0)) 110 110 { 111 return 0;111 return Vector(); 112 112 } 113 113 114 return newVector(x / l, y /l, z / l);114 return Vector(x / l, y /l, z / l); 115 115 } 116 116 -
orxonox/branches/particleEngine/src/lib/math/vector.h
r3951 r3958 31 31 32 32 inline Vector operator+ (const Vector& v) const { return Vector(x + v.x, y + v.y, z + v.z); } 33 inline const Vector operator+= (const Vector& v) {this->x += v.x; this->y += v.y; this->z += v.z; return *this;} 33 34 inline Vector operator- (const Vector& v) const { return Vector(x - v.x, y - v.y, z - v.z); } 35 inline const Vector operator-= (const Vector& v) {this->x -= v.x; this->y -= v.y; this->z -= v.z; return *this;} 34 36 inline float operator* (const Vector& v) const { return x * v.x + y * v.y + z * v.z; } 37 inline const Vector operator*= (const Vector& v) {this->x *= v.x; this->y *= v.y; this->z *= v.z; return *this;} 35 38 inline Vector operator* (float f) const { return Vector(x * f, y * f, z * f); } 39 inline const Vector operator*= (float f) {this->x *= f; this->y *= f; this->z *= f; return *this;} 36 40 Vector operator/ (float f) const; 41 inline const Vector operator/= (float f) {this->x /= f; this->y /= f; this->z /= f; return *this;} 37 42 float dot (const Vector& v) const; 38 inline Vector cross (const Vector& v) const { 43 inline Vector cross (const Vector& v) const { return Vector(y * v.z - z * v.y, z * v.x - x * v.z, x * v.y - y * v.x ); } 39 44 void scale(const Vector& v); 40 45 inline float len() const { return sqrt (x*x+y*y+z*z); } … … 50 55 z = z / l; 51 56 } 52 Vector*getNormalized();57 const Vector getNormalized(); 53 58 Vector abs(); 54 59
Note: See TracChangeset
for help on using the changeset viewer.