POP/POP_Node.h File Reference

#include "POP_API.h"
#include <UT/UT_Vector3.h>
#include <UT/UT_Interrupt.h>
#include <UT/UT_PtrArray.h>
#include <UT/UT_NTStreamUtil.h>
#include <UT/UT_Thread.h>
#include <GU/GU_DetailHandle.h>
#include <OP/OP_Network.h>
#include <GOP/GOP_Manager.h>
#include "POP_Defines.h"
#include "POP_Guide.h"
#include "POP_Error.h"
#include "POP_ContextData.h"
#include "POP_ParticleList.h"
#include "POP_Shared.h"

Go to the source code of this file.

Classes

class  POP_Node

Defines

#define FLOAT_PARM(name, idx, vi, t)   return evalFloat(name, &myIndirect[idx], vi, t);
#define INT_PARM(name, idx, vi, t)   return evalInt(name, &myIndirect[idx], vi, t);
#define STR_PARM(name, idx, vi, t)   evalString(s, name, &myIndirect[idx], vi, (float)t);
#define STR_PARM_NE(name, idx, vi, t)   evalStringRaw(s, name, &myIndirect[idx], vi, (float)t);
#define POP_FPARM(myvar, get)
#define POP_IPARM(myvar, get)
#define POP_SPARM(myvar, get)
#define POP_VPARM(myvar, get)
#define POP_FCACHE(var, eval, get, myvar, classname)
#define POP_ICACHE(var, eval, get, myvar, classname)
#define POP_SCACHE(var, eval, get, myvar, classname)
#define POP_VCACHE(var, expr, get, myvar, classname)
#define POP_PEVAL(name)   (this->*name)(t)
#define POP_SEVAL(name, s)   (this->*name)(s, t)
#define POP_VEVAL(name, expr, x, y, z, thread)   (this->*name)(expr, x, y, z, thread)
#define POP_CB_PEVAL(name)   (this->*name)(data->myTime)
#define POP_CB_SEVAL(name, s)   (this->*name)(s, data->myTime)

Typedefs

typedef void(POP_Node::* POP_BirthAttribFunc )(POP_ContextData *data, GEO_Point *ppt, UT_Vector3 *vel, void *userdata)
typedef float(POP_Node::* POP_FloatFunc )(POP_ContextData *data)
typedef int(POP_Node::* POP_IntFunc )(POP_ContextData *data)
typedef void(POP_Node::* POP_TraverseFunc )(void *userdata)
typedef void(POP_Node::* POP_JitterFunc )(GU_Detail **gdp, GB_PointGroup **pointGroup, GB_PrimitiveGroup **primGroup, GU_RayIntersect **rayIntersect, POP_AttribMap **map, float timeIncFraction)
typedef UT_PtrArray
< POP_ParticleList * > 
POP_ParticleListArray
typedef float(POP_Node::* POP_FParam )(float t)
typedef int(POP_Node::* POP_IParam )(float t)
typedef void(POP_Node::* POP_SParam )(UT_String &s, float t)
typedef void(POP_Node::* POP_VParam )(EV_EXPRESSION *expr, float &x, float &y, float &z, int thread)

Functions

DLLEXPORT void newPopOperator (OP_OperatorTable *table)
POP_API void POPgetVexReservedTemplateLists (UT_PtrArray< PRM_Template * > &tplatelists)


Define Documentation

#define FLOAT_PARM ( name,
idx,
vi,
t   )     return evalFloat(name, &myIndirect[idx], vi, t);

Definition at line 49 of file POP_Node.h.

#define INT_PARM ( name,
idx,
vi,
t   )     return evalInt(name, &myIndirect[idx], vi, t);

Definition at line 51 of file POP_Node.h.

#define POP_CB_PEVAL ( name   )     (this->*name)(data->myTime)

Definition at line 155 of file POP_Node.h.

#define POP_CB_SEVAL ( name,
s   )     (this->*name)(s, data->myTime)

Definition at line 158 of file POP_Node.h.

#define POP_FCACHE ( var,
eval,
get,
myvar,
classname   ) 

Value:

if (isVarDependent(data->getDetail(), \
                           (POP_FParam) &classname::eval, t, thread)) \
            var = (POP_FParam) &classname::eval; \
        else \
            { myvar = eval(t); var = (POP_FParam) &classname::get; }
Examples:
POP/POP_LocalForce.C, and POP/POP_SpotLight.C.

Definition at line 118 of file POP_Node.h.

#define POP_FPARM ( myvar,
get   ) 

Value:

float   myvar; \
        float   get(float) { return(myvar); }

Definition at line 101 of file POP_Node.h.

#define POP_ICACHE ( var,
eval,
get,
myvar,
classname   ) 

Value:

if (isVarDependent(data->getDetail(), \
                           (POP_IParam) &classname::eval, t, thread)) \
            var = (POP_IParam) &classname::eval; \
        else \
            { myvar = eval(t); var = (POP_IParam) &classname::get; }

Definition at line 125 of file POP_Node.h.

#define POP_IPARM ( myvar,
get   ) 

Value:

int     myvar; \
        int     get(float) { return(myvar); }

Definition at line 105 of file POP_Node.h.

#define POP_PEVAL ( name   )     (this->*name)(t)

Examples:
POP/POP_LocalForce.C, and POP/POP_SpotLight.C.

Definition at line 146 of file POP_Node.h.

#define POP_SCACHE ( var,
eval,
get,
myvar,
classname   ) 

Value:

if (isVarDependent(data->getDetail(), \
                            (POP_SParam)  &classname::eval, t, thread)) \
            var = (POP_SParam) &classname::eval; \
        else \
            { eval(myvar, t); var = (POP_SParam) &classname::get; }

Definition at line 132 of file POP_Node.h.

#define POP_SEVAL ( name,
s   )     (this->*name)(s, t)

Definition at line 149 of file POP_Node.h.

#define POP_SPARM ( myvar,
get   ) 

Value:

UT_String       myvar; \
        void            get(UT_String& s, float) { s = myvar; }

Definition at line 109 of file POP_Node.h.

#define POP_VCACHE ( var,
expr,
get,
myvar,
classname   ) 

Value:

if (isVarDependent(data->getDetail(), expr, thread)) \
            var = &classname::evalVector; \
        else \
            { evalVector(expr, myvar[0], myvar[1], myvar[2], thread); \
              var = (POP_VParam) &classname::get; }

Definition at line 139 of file POP_Node.h.

#define POP_VEVAL ( name,
expr,
x,
y,
z,
thread   )     (this->*name)(expr, x, y, z, thread)

Definition at line 152 of file POP_Node.h.

#define POP_VPARM ( myvar,
get   ) 

Value:

float   myvar[3]; \
        void    get(EV_EXPRESSION*, float &x, float &y, float &z, int) \
                { x = myvar[0]; y = myvar[1]; z = myvar[2]; }

Definition at line 113 of file POP_Node.h.

#define STR_PARM ( name,
idx,
vi,
t   )     evalString(s, name, &myIndirect[idx], vi, (float)t);

Definition at line 53 of file POP_Node.h.

#define STR_PARM_NE ( name,
idx,
vi,
t   )     evalStringRaw(s, name, &myIndirect[idx], vi, (float)t);

Definition at line 55 of file POP_Node.h.


Typedef Documentation

typedef void(POP_Node::* POP_BirthAttribFunc)(POP_ContextData *data, GEO_Point *ppt, UT_Vector3 *vel, void *userdata)

Examples:
POP/POP_RadialBirth.C.

Definition at line 64 of file POP_Node.h.

typedef float(POP_Node::* POP_FloatFunc)(POP_ContextData *data)

Examples:
POP/POP_RadialBirth.C.

Definition at line 70 of file POP_Node.h.

typedef float(POP_Node::* POP_FParam)(float t)

typedef int(POP_Node::* POP_IntFunc)(POP_ContextData *data)

Examples:
POP/POP_RadialBirth.C.

Definition at line 75 of file POP_Node.h.

typedef int(POP_Node::* POP_IParam)(float t)

Definition at line 96 of file POP_Node.h.

typedef void(POP_Node::* POP_JitterFunc)(GU_Detail **gdp, GB_PointGroup **pointGroup, GB_PrimitiveGroup **primGroup, GU_RayIntersect **rayIntersect, POP_AttribMap **map, float timeIncFraction)

Definition at line 84 of file POP_Node.h.

Definition at line 90 of file POP_Node.h.

typedef void(POP_Node::* POP_SParam)(UT_String &s, float t)

Definition at line 97 of file POP_Node.h.

typedef void(POP_Node::* POP_TraverseFunc)(void *userdata)

Definition at line 79 of file POP_Node.h.

typedef void(POP_Node::* POP_VParam)(EV_EXPRESSION *expr, float &x, float &y, float &z, int thread)

Definition at line 98 of file POP_Node.h.


Function Documentation

DLLEXPORT void newPopOperator ( OP_OperatorTable table  ) 

POP_API void POPgetVexReservedTemplateLists ( UT_PtrArray< PRM_Template * > &  tplatelists  ) 


Generated on Thu May 24 00:09:04 2012 for HDK by  doxygen 1.5.9