osgParticle.ForceOperator类是所有作用于粒子系统的力操作符的基类。它提供了纯虚函数,以使其可被派生类实现。力操作符用于改变粒子的速度、位置、加速度等属性,以模拟不同的现象,例如重力、风、阻力、引力等。
typedef std::vector< ref_ptr<Particle> > ParticleList;
ForceOperator();
构造函数。
ForceOperator(const ForceOperator& copy, const CopyOp& copyop=CopyOp::SHALLOW_COPY);
复制构造函数。
void setParticleSystem(ParticleSystem* ps);
设置与该力操作符所关联的粒子系统。
ParticleSystem* getParticleSystem();
获取与该力操作符所关联的粒子系统。
virtual void operate(double dt) = 0;
应用操作符到粒子上。参数dt
表示粒子系统已运行的时间。
virtual ~ForceOperator();
析构函数。
ForceOperator& operator = (const ForceOperator&);
赋值运算符。
virtual ForceOperator* clone(const CopyOp& copyop) const = 0;
获取一个该操作符的副本。
virtual void beginOperate(ParticleList& particles);
准备应用操作符前的操作,例如清空计数器。
virtual void endOperate();
应用操作符之后需要执行的操作。
virtual bool isSameKindAs(const Object* obj) const;
判断该操作符是否与另一个对象属于相同类型。
virtual const char* libraryName() const;
获取该对象所属库的名称。
virtual const char* className() const;
获取该对象的类名。