OrbitOperator(const OrbitOperator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
void setCenter(const osg::Vec3 &c)
Set the center of orbit.
void setMagnitude(float mag)
Set the acceleration scale.
const osg::Vec3 & getPosition() const
Get the position vector.
ReferenceFrame getReferenceFrame() const
Get the reference frame.
META_Object(osgParticle, OrbitOperator)
float getEpsilon() const
Get the acceleration epsilon.
float getMagnitude() const
Get the acceleration scale.
void operate(Particle *P, double dt)
Apply the acceleration to a particle. Do not call this method manually.
OrbitOperator & operator=(const OrbitOperator &)
void setMaxRadius(float max)
Set max radius between the center and the particle.
float getMaxRadius() const
Get max radius between the center and the particle.
const osg::Vec3 & getCenter() const
Get the center of orbit.
void setEpsilon(float eps)
Set the acceleration epsilon.
void addVelocity(const osg::Vec3 &dv)
Add a vector to the velocity vector.
void beginOperate(Program *prg)
Perform some initializations. Do not call this method manually.
osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)
Transform a point from local to world coordinates (valid only during cull traversal).