Go to the documentation of this file.
15 : SimpleParticleData(pos, rad, id, tag)
20 : SimpleParticleData(p)
26 SimpleParticleData::operator=(p);
58 const double phi = rotation.
norm();
62 const Vec3 n = rotation/phi;
63 const double cosPhi = cos(phi);
65 r*cosPhi + n*((
dot(n, r))*(1-cosPhi)) +
cross(r, n)*sin(phi);
82 return (
getID() >= 0);
85 template <
typename TmplVisitor>
88 visitor.visitSimpleParticle(*
this);
91 template <
typename TmplVisitor>
94 visitor.visitSimpleParticle(*
this);
100 <<
"Particle- id " << p.
getId()
103 <<
" tag : " << p.
getTag() << std::endl;
127 return (*
this)(*p1, *p2);
double getRad() const
Definition: SimpleParticle.hpp:70
void translateBy(const Vec3 &v)
Definition: SimpleParticle.hpp:45
const SimpleParticle * m_pParticle
Definition: SimpleParticle.h:65
Id getID() const
Definition: SimpleParticleData.hpp:109
SimpleParticle & operator=(const SimpleParticle &p)
Definition: SimpleParticle.hpp:24
VEC3_INLINE double dot(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:196
const Vec3 & getPos() const
Definition: SimpleParticle.hpp:30
bool isValid() const
Definition: SimpleParticle.hpp:80
void setPos(const Vec3 &pos)
Definition: SimpleParticle.hpp:35
Id getId() const
Definition: SimpleParticleData.hpp:94
Definition: SimpleParticle.h:25
ostream & operator<<(ostream &ost, const SimpleParticle &p)
Definition: SimpleParticle.hpp:97
VEC3_INLINE Vec3 cross(const Vec3 &lhs, const Vec3 &rhs)
Definition: vec3.hpp:187
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
void setRadius(const double &r)
Definition: SimpleParticleData.hpp:139
bool operator()(const SimpleParticle &, const SimpleParticle &) const
Definition: SimpleParticle.hpp:115
ParticleComparer(const SimpleParticle &)
Definition: SimpleParticle.hpp:107
const Vec3 & getPosition() const
Definition: SimpleParticleData.hpp:114
double getRadius() const
Definition: SimpleParticleData.hpp:134
void moveBy(const Vec3 &v)
Definition: SimpleParticle.hpp:50
void rotate(const Vec3 &rotation, const Vec3 &posn)
Definition: SimpleParticle.hpp:55
SimpleParticle(const Vec3 &posn, double radius, int id=0, int tag=0)
Definition: SimpleParticle.hpp:14
void moveTo(const Vec3 &v)
Definition: SimpleParticle.hpp:40
void setPosition(const Vec3 &pos)
Definition: SimpleParticleData.hpp:119
void visit(const TmplVisitor &visitor) const
Definition: SimpleParticle.hpp:86
Tag getTag() const
Definition: SimpleParticleData.hpp:124
void setRad(double r)
Definition: SimpleParticle.hpp:75