Particle operator. More...
Inherits DD::Image::ParticleRender.
Inherited by DD::Image::ParticleBehaviour.
Public Types | |
enum | OpType { eMove, eBounce, eSpawn, eOther } |
Public Member Functions | |
ParticleOp (Node *node) | |
virtual bool | applyBehaviour (const ParticleContext &context, ParticleSystem *ps)=0 |
unsigned | node_color () const |
const char * | node_shape () const |
void | appendSimulationCurve (DD::Image::Hash &hash) const |
virtual bool | doApplyBehaviour (const ParticleContext &context, ParticleSystem &ps, unsigned pathMask)=0 |
int | minimum_inputs () const |
int | maximum_inputs () const |
Op * | default_input (int input) const |
bool | test_input (int input, Op *op) const |
virtual void | add_input_handle (int i, ViewerContext *ctx) |
virtual OpType | getOpType () |
Static Public Member Functions | |
static void | ParticleChannels_knob (Knob_Callback f, ParticleChannelSet *ptr, const char *name, const char *label=NULL) |
Protected Member Functions | |
virtual void | appendSimulationInput (int nodeInput, DD::Image::Hash &hash) const |
Particle operator.
FIXME-documentation
void DD::Image::ParticleOp::appendSimulationCurve | ( | DD::Image::Hash & | hash | ) | const |
get the curve-hash that affects the particle system's simulation
References DD::Image::Knob::append().
void DD::Image::ParticleOp::appendSimulationInput | ( | int | nodeInput, |
DD::Image::Hash & | hash | ||
) | const [protected, virtual] |
get the curve-hash for the particle nodeInput. Subclasses can override this to not do anything or to only hash in particular data if the general curve-hash would not affect the simulation state.
void DD::Image::ParticleOp::add_input_handle | ( | int | i, |
ViewerContext * | ctx | ||
) | [virtual] |
we should ignore geo inputs for this purpose, as we shouldn't draw them if their panels are not open, and we don't want to suppress drawing them having lowered the state to CONNECTED from SHOW_OBJECT (see GeoOp::build_handles)
Reimplemented from DD::Image::Op.