OP/OP_Node.h File Reference

#include "OP_API.h"
#include "OP_BundleReferences.h"
#include "OP_Cache.h"
#include "OP_ConnectorId.h"
#include "OP_Context.h"
#include "OP_DataMicroNode.h"
#include "OP_DataTypes.h"
#include "OP_Dependency.h"
#include "OP_Error.h"
#include "OP_InterestRef.h"
#include "OP_Lock.h"
#include "OP_NetworkBoxItem.h"
#include "OP_NetworkBoxItemFlags.h"
#include "OP_NodeFlags.h"
#include "OP_OTLLicenseType.h"
#include "OP_Output.h"
#include "OP_Parameters.h"
#include "OP_PropagateData.h"
#include "OP_TaskState.h"
#include "OP_Version.h"
#include <DEP/DEP_MicroNode.h>
#include <IMG/IMG_Raster.h>
#include <UT/UT_Algorithm.h>
#include <UT/UT_BitArray.h>
#include <UT/UT_BoundingBox.h>
#include <UT/UT_Color.h>
#include <UT/UT_Error.h>
#include <UT/UT_IntArray.h>
#include <UT/UT_Options.h>
#include <UT/UT_PathSearch.h>
#include <UT/UT_PtrArray.h>
#include <UT/UT_RefArray.h>
#include <UT/UT_String.h>
#include <UT/UT_TokenString.h>
#include <UT/UT_Vector3.h>
#include <UT/UT_VectorTypes.h>
#include <UT/UT_XformOrder.h>
#include <UT/UT_Performance.h>
#include <SYS/SYS_AtomicInt.h>
#include <SYS/SYS_Math.h>
#include <SYS/SYS_Types.h>
#include <map>
#include <string>
#include <vector>
#include <iostream.h>

Go to the source code of this file.

Classes

struct  OP_InputPair
struct  OP_OutputPair
struct  OP_NodeParmRef
struct  OP_UnresolvedConnection
class  OP_TypeInfo
struct  OP_SaveCommandOptions
 Options class for use with OP_Node::saveCommand(). More...
class  opParmData
class  OP_Node

Defines

#define TInputsIterator   TStringInputMap::iterator
#define OPREF_PREFIX   "op:"
#define OPREF_PREFIX_LEN   3
#define DEFAULT_COMP_HASH_VALUE   (17*19)
#define OP_INVALID_NODE_ID   -999
#define INVALID_TABLE_NAME   "Node"
#define OBJ_TABLE_NAME   "Object"
#define SOP_TABLE_NAME   "Sop"
#define POPNET_TABLE_NAME   "Particle"
#define POP_TABLE_NAME   "Pop"
#define CHOPNET_TABLE_NAME   "ChopNet"
#define CHOP_TABLE_NAME   "Chop"
#define ROP_TABLE_NAME   "Driver"
#define SHOP_TABLE_NAME   "Shop"
#define COP2_TABLE_NAME   "Cop2"
#define COPNET_TABLE_NAME   "CopNet"
#define VOP_TABLE_NAME   "Vop"
#define VOPNET_TABLE_NAME   "VopNet"
#define DOP_TABLE_NAME   "Dop"
#define MGR_TABLE_NAME   "Manager"
#define DIR_TABLE_NAME   "Director"
#define INVALID_SCRIPT_NAME   "node"
#define OBJ_SCRIPT_NAME   "obj"
#define SOP_SCRIPT_NAME   "sop"
#define POPNET_SCRIPT_NAME   "part"
#define POP_SCRIPT_NAME   "pop"
#define CHOPNET_SCRIPT_NAME   "ch"
#define CHOP_SCRIPT_NAME   "chop"
#define ROP_SCRIPT_NAME   "out"
#define SHOP_SCRIPT_NAME   "shop"
#define COPNET_SCRIPT_NAME   "img"
#define COP2_SCRIPT_NAME   "cop2"
#define VOP_SCRIPT_NAME   "vop"
#define VOPNET_SCRIPT_NAME   "vex"
#define DOP_SCRIPT_NAME   "dop"
#define MGR_SCRIPT_NAME   "mgr"
#define DIR_SCRIPT_NAME   "dir"
#define INVALID_OPTYPE_NAME   "NODE"
#define OBJ_OPTYPE_NAME   "OBJ"
#define SOP_OPTYPE_NAME   "SOP"
#define POPNET_OPTYPE_NAME   "PART"
#define POP_OPTYPE_NAME   "POP"
#define CHOPNET_OPTYPE_NAME   "CHOPNET"
#define CHOP_OPTYPE_NAME   "CHOP"
#define ROP_OPTYPE_NAME   "ROP"
#define SHOP_OPTYPE_NAME   "SHOP"
#define COP2_OPTYPE_NAME   "COP2"
#define COPNET_OPTYPE_NAME   "IMG"
#define VOP_OPTYPE_NAME   "VOP"
#define VOPNET_OPTYPE_NAME   "VOPNET"
#define DOP_OPTYPE_NAME   "DOP"
#define MGR_OPTYPE_NAME   "MGR"
#define DIR_OPTYPE_NAME   "DIR"
#define OP_DEFAULT_COLOR_R   0.8F
#define OP_DEFAULT_COLOR_G   0.8F
#define OP_DEFAULT_COLOR_B   0.8F
#define OP_DEFAULT_COLOR
#define VOP_OUTPUT_NODE_NAME   "output"
#define VOP_SUBNET_OUTPUT_NODE_NAME   "suboutput"
#define VOP_SUBNET_INPUT_NODE_NAME   "subinput"
#define SHOP_MANAGEMENT_OPTYPE   "shopnet"
#define POP_MANAGEMENT_OPTYPE   "popnet"
#define COP2_MANAGEMENT_OPTYPE   "cop2net"
#define ROP_MANAGEMENT_OPTYPE   "ropnet"
#define CHOP_MANAGEMENT_OPTYPE   "chopnet"
#define SOP_MANAGEMENT_OPTYPE   "sopnet"
#define OBJ_MANAGEMENT_OPTYPE   "objnet"
#define VOP_MANAGEMENT_OPTYPE   "vopnet"
#define DOP_MANAGEMENT_OPTYPE   "dopnet"
#define INSTANTIATE_FINDNODE_FUNCTIONS(PREFIX)
#define INSTANTIATE_CASTNODE_FUNCTIONS(PREFIX)
#define INSTANTIATE_FOR_ALL_NODE_TYPES(MACRO_FUNC)
 This macro allows us to run another macro for all node types.
#define CAST_INSTANTIATE(PREFIX)

Typedefs

typedef UT_PtrArray< const
CL_Track * > 
CL_TrackListC
typedef int(* OP_EditCallback )(void *data, OP_Node *src, CL_Track *track, fpreal t, fpreal value)
typedef std::map
< OP_ConnectorId, OP_Input * > 
TStringInputMap
typedef std::map
< OP_ConnectorId, OP_Output * > 
TStringOutputMap
typedef std::vector< OP_InputPairTInputPairs
typedef std::vector
< OP_OutputPair
TOutputPairs
typedef UT_CycleDetect< OP_Node * > OP_NodeCycleDetect
typedef UT_CycleDetect
< OP_NodeParmRef
OP_NodeParmRefCycle
typedef UT_LockedRawPtr
< OP_NodeList, OP_Lock
OP_LockedNodeList
typedef UT_LockedRawPtr< const
OP_NodeList, OP_Lock
OP_LockedConstNodeList
typedef std::vector
< OP_UnresolvedConnection * > 
TUnresolvedInputs

Enumerations

enum  OP_OpTypeId {
  INVALID_OPTYPE_ID = -1, OBJ_OPTYPE_ID = 0, SOP_OPTYPE_ID, POPNET_OPTYPE_ID,
  POP_OPTYPE_ID, CHOPNET_OPTYPE_ID, CHOP_OPTYPE_ID, ROP_OPTYPE_ID,
  SHOP_OPTYPE_ID, COP2_OPTYPE_ID, COPNET_OPTYPE_ID, VOP_OPTYPE_ID,
  VOPNET_OPTYPE_ID, DOP_OPTYPE_ID, MGR_OPTYPE_ID, DIR_OPTYPE_ID,
  NUM_MANAGERS
}
enum  OP_CompileStatusType { OP_COMPILE_STATUS_UNDEFINED = 0, OP_COMPILE_STATUS_COMPILED, OP_COMPILE_STATUS_UNCOMPILED }

Functions

OP_API OP_NodeOPgetNodeFromChannel (const CH_Channel *chp)


Define Documentation

#define CAST_INSTANTIATE ( PREFIX   ) 

Value:

inline static PREFIX##_Node *CAST_##PREFIX##NODE(OP_Node *op)           \
{                                                                       \
    return ((op) ? (op)->castTo##PREFIX##Node() : 0);                   \
}                                                                       \
                                                                        \
inline static const PREFIX##_Node *CAST_##PREFIX##NODE(const OP_Node *op) \
{                                                                       \
    return ((op) ? (op)->castTo##PREFIX##Node() : 0);                   \
}                                                                       \

Definition at line 3079 of file OP_Node.h.

#define CHOP_MANAGEMENT_OPTYPE   "chopnet"

Definition at line 298 of file OP_Node.h.

#define CHOP_OPTYPE_NAME   "CHOP"

Definition at line 231 of file OP_Node.h.

#define CHOP_SCRIPT_NAME   "chop"

Definition at line 211 of file OP_Node.h.

#define CHOP_TABLE_NAME   "Chop"

Definition at line 190 of file OP_Node.h.

#define CHOPNET_OPTYPE_NAME   "CHOPNET"

Definition at line 230 of file OP_Node.h.

#define CHOPNET_SCRIPT_NAME   "ch"

Definition at line 210 of file OP_Node.h.

#define CHOPNET_TABLE_NAME   "ChopNet"

Definition at line 189 of file OP_Node.h.

#define COP2_MANAGEMENT_OPTYPE   "cop2net"

Definition at line 296 of file OP_Node.h.

#define COP2_OPTYPE_NAME   "COP2"

Definition at line 234 of file OP_Node.h.

#define COP2_SCRIPT_NAME   "cop2"

Definition at line 215 of file OP_Node.h.

#define COP2_TABLE_NAME   "Cop2"

Definition at line 193 of file OP_Node.h.

#define COPNET_OPTYPE_NAME   "IMG"

Definition at line 235 of file OP_Node.h.

#define COPNET_SCRIPT_NAME   "img"

Definition at line 214 of file OP_Node.h.

#define COPNET_TABLE_NAME   "CopNet"

Definition at line 194 of file OP_Node.h.

#define DEFAULT_COMP_HASH_VALUE   (17*19)

Definition at line 174 of file OP_Node.h.

#define DIR_OPTYPE_NAME   "DIR"

Definition at line 245 of file OP_Node.h.

#define DIR_SCRIPT_NAME   "dir"

Definition at line 222 of file OP_Node.h.

#define DIR_TABLE_NAME   "Director"

Definition at line 201 of file OP_Node.h.

#define DOP_MANAGEMENT_OPTYPE   "dopnet"

Definition at line 302 of file OP_Node.h.

#define DOP_OPTYPE_NAME   "DOP"

Definition at line 238 of file OP_Node.h.

#define DOP_SCRIPT_NAME   "dop"

Definition at line 218 of file OP_Node.h.

#define DOP_TABLE_NAME   "Dop"

Definition at line 197 of file OP_Node.h.

#define INSTANTIATE_CASTNODE_FUNCTIONS ( PREFIX   ) 

Value:

PREFIX##_Node *castTo##PREFIX##Node() const                 \
    {                                                           \
        /* If this is triggered, use CAST_FOONODE instead */    \
        /* This is because foo->bar() should not be done with */ \
        /* NULL foo for aesthetic reasons. */                   \
        UT_ASSERT(this);                                        \
        if (!this) return 0;                                    \
        if (getOpTypeID() == PREFIX##_OPTYPE_ID)                \
        {                                                       \
            return (PREFIX##_Node *) this;                      \
        }                                                       \
        return 0;                                               \
    }

Definition at line 417 of file OP_Node.h.

#define INSTANTIATE_FINDNODE_FUNCTIONS ( PREFIX   ) 

Value:

PREFIX##_Node *find##PREFIX##Node(const char *path) const   \
    {                                                           \
        OP_Node         *node;                                  \
                                                                \
        node = findNode(path);                                  \
        if (node) return node->castTo##PREFIX##Node();          \
        return 0;                                               \
    }

Definition at line 408 of file OP_Node.h.

#define INSTANTIATE_FOR_ALL_NODE_TYPES ( MACRO_FUNC   ) 

Value:

MACRO_FUNC(OBJ)                                             \
    MACRO_FUNC(SOP)                                             \
    MACRO_FUNC(POPNET)                                          \
    MACRO_FUNC(POP)                                             \
    MACRO_FUNC(CHOPNET)                                         \
    MACRO_FUNC(CHOP)                                            \
    MACRO_FUNC(ROP)                                             \
    MACRO_FUNC(SHOP)                                            \
    MACRO_FUNC(COP2)                                            \
    MACRO_FUNC(COPNET)                                          \
    MACRO_FUNC(VOP)                                             \
    MACRO_FUNC(VOPNET)                                          \
    MACRO_FUNC(DOP)
This macro allows us to run another macro for all node types.

Definition at line 433 of file OP_Node.h.

#define INVALID_OPTYPE_NAME   "NODE"

Definition at line 225 of file OP_Node.h.

#define INVALID_SCRIPT_NAME   "node"

Definition at line 205 of file OP_Node.h.

#define INVALID_TABLE_NAME   "Node"

Definition at line 184 of file OP_Node.h.

#define MGR_OPTYPE_NAME   "MGR"

Definition at line 244 of file OP_Node.h.

#define MGR_SCRIPT_NAME   "mgr"

Definition at line 221 of file OP_Node.h.

#define MGR_TABLE_NAME   "Manager"

Definition at line 200 of file OP_Node.h.

#define OBJ_MANAGEMENT_OPTYPE   "objnet"

Definition at line 300 of file OP_Node.h.

#define OBJ_OPTYPE_NAME   "OBJ"

Definition at line 226 of file OP_Node.h.

#define OBJ_SCRIPT_NAME   "obj"

Definition at line 206 of file OP_Node.h.

#define OBJ_TABLE_NAME   "Object"

Definition at line 185 of file OP_Node.h.

#define OP_DEFAULT_COLOR

Value:

Definition at line 250 of file OP_Node.h.

#define OP_DEFAULT_COLOR_B   0.8F

Definition at line 249 of file OP_Node.h.

#define OP_DEFAULT_COLOR_G   0.8F

Definition at line 248 of file OP_Node.h.

#define OP_DEFAULT_COLOR_R   0.8F

Definition at line 247 of file OP_Node.h.

#define OP_INVALID_NODE_ID   -999

Definition at line 181 of file OP_Node.h.

#define OPREF_PREFIX   "op:"

Definition at line 171 of file OP_Node.h.

#define OPREF_PREFIX_LEN   3

Definition at line 172 of file OP_Node.h.

#define POP_MANAGEMENT_OPTYPE   "popnet"

Definition at line 295 of file OP_Node.h.

#define POP_OPTYPE_NAME   "POP"

Definition at line 229 of file OP_Node.h.

#define POP_SCRIPT_NAME   "pop"

Definition at line 209 of file OP_Node.h.

#define POP_TABLE_NAME   "Pop"

Definition at line 188 of file OP_Node.h.

#define POPNET_OPTYPE_NAME   "PART"

Definition at line 228 of file OP_Node.h.

#define POPNET_SCRIPT_NAME   "part"

Definition at line 208 of file OP_Node.h.

#define POPNET_TABLE_NAME   "Particle"

Definition at line 187 of file OP_Node.h.

#define ROP_MANAGEMENT_OPTYPE   "ropnet"

Definition at line 297 of file OP_Node.h.

#define ROP_OPTYPE_NAME   "ROP"

Definition at line 232 of file OP_Node.h.

#define ROP_SCRIPT_NAME   "out"

Definition at line 212 of file OP_Node.h.

#define ROP_TABLE_NAME   "Driver"

Definition at line 191 of file OP_Node.h.

#define SHOP_MANAGEMENT_OPTYPE   "shopnet"

Definition at line 294 of file OP_Node.h.

#define SHOP_OPTYPE_NAME   "SHOP"

Definition at line 233 of file OP_Node.h.

#define SHOP_SCRIPT_NAME   "shop"

Definition at line 213 of file OP_Node.h.

#define SHOP_TABLE_NAME   "Shop"

Definition at line 192 of file OP_Node.h.

#define SOP_MANAGEMENT_OPTYPE   "sopnet"

Definition at line 299 of file OP_Node.h.

#define SOP_OPTYPE_NAME   "SOP"

Definition at line 227 of file OP_Node.h.

#define SOP_SCRIPT_NAME   "sop"

Definition at line 207 of file OP_Node.h.

#define SOP_TABLE_NAME   "Sop"

Examples:
SOP/MSS_BrushHairLenSelector.C.

Definition at line 186 of file OP_Node.h.

#define TInputsIterator   TStringInputMap::iterator

Definition at line 116 of file OP_Node.h.

#define VOP_MANAGEMENT_OPTYPE   "vopnet"

Definition at line 301 of file OP_Node.h.

#define VOP_OPTYPE_NAME   "VOP"

Examples:
SOP/SOP_PrimVOP.C, and VOP/VOP_CustomContext.C.

Definition at line 236 of file OP_Node.h.

#define VOP_OUTPUT_NODE_NAME   "output"

Definition at line 288 of file OP_Node.h.

#define VOP_SCRIPT_NAME   "vop"

Definition at line 216 of file OP_Node.h.

#define VOP_SUBNET_INPUT_NODE_NAME   "subinput"

Definition at line 290 of file OP_Node.h.

#define VOP_SUBNET_OUTPUT_NODE_NAME   "suboutput"

Definition at line 289 of file OP_Node.h.

#define VOP_TABLE_NAME   "Vop"

Examples:
SOP/SOP_PrimVOP.C, and VOP/VOP_CustomContext.C.

Definition at line 195 of file OP_Node.h.

#define VOPNET_OPTYPE_NAME   "VOPNET"

Definition at line 237 of file OP_Node.h.

#define VOPNET_SCRIPT_NAME   "vex"

Definition at line 217 of file OP_Node.h.

#define VOPNET_TABLE_NAME   "VopNet"

Definition at line 196 of file OP_Node.h.


Typedef Documentation

Definition at line 104 of file OP_Node.h.

typedef int(* OP_EditCallback)(void *data, OP_Node *src, CL_Track *track, fpreal t, fpreal value)

Definition at line 109 of file OP_Node.h.

Definition at line 161 of file OP_Node.h.

Definition at line 159 of file OP_Node.h.

Definition at line 133 of file OP_Node.h.

Definition at line 156 of file OP_Node.h.

typedef std::vector< OP_InputPair > TInputPairs

Definition at line 123 of file OP_Node.h.

typedef std::vector< OP_OutputPair > TOutputPairs

Definition at line 130 of file OP_Node.h.

typedef std::map< OP_ConnectorId, OP_Input* > TStringInputMap

Definition at line 112 of file OP_Node.h.

typedef std::map< OP_ConnectorId, OP_Output* > TStringOutputMap

Definition at line 113 of file OP_Node.h.

typedef std::vector< OP_UnresolvedConnection* > TUnresolvedInputs

Definition at line 168 of file OP_Node.h.


Enumeration Type Documentation

Enumerator:
OP_COMPILE_STATUS_UNDEFINED 
OP_COMPILE_STATUS_COMPILED 
OP_COMPILE_STATUS_UNCOMPILED 

Definition at line 278 of file OP_Node.h.

Enumerator:
INVALID_OPTYPE_ID 
OBJ_OPTYPE_ID 
SOP_OPTYPE_ID 
POPNET_OPTYPE_ID 
POP_OPTYPE_ID 
CHOPNET_OPTYPE_ID 
CHOP_OPTYPE_ID 
ROP_OPTYPE_ID 
SHOP_OPTYPE_ID 
COP2_OPTYPE_ID 
COPNET_OPTYPE_ID 
VOP_OPTYPE_ID 
VOPNET_OPTYPE_ID 
DOP_OPTYPE_ID 
MGR_OPTYPE_ID 
DIR_OPTYPE_ID 
NUM_MANAGERS 

Definition at line 255 of file OP_Node.h.


Function Documentation

OP_API OP_Node* OPgetNodeFromChannel ( const CH_Channel chp  ) 


Generated on Thu Jan 31 00:29:10 2013 for HDK by  doxygen 1.5.9