DD::Image::ParticleOp Class Reference

Particle operator. More...

Inherits DD::Image::ParticleRender.

Inherited by DD::Image::ParticleBehaviour.

List of all members.

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
Opdefault_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

Detailed Description

Particle operator.

FIXME-documentation


Member Function 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.