OP_OperatorTable Class Reference

#include <OP_OperatorTable.h>

Inheritance diagram for OP_OperatorTable:

UT_SymbolTable

List of all members.

Public Member Functions

 OP_OperatorTable (const char *table_name, const char *script_directory)
 ~OP_OperatorTable ()
OP_NodecreateNode (OP_Network *parent, const char *type, const char *name=0, int *aliasedScriptedOp=0, bool exact_type=false)
OP_OperatorgetOperator (const char *name)
int addOperator (OP_Operator *op)
void removeOperator (OP_Operator *op)
OP_OperatorgetPrimarySubnetOperator ()
void setScriptCreator (OP_ScriptCreatorFunc func)
void addScriptIndexFile (const char *indexpath, const char *indexfile, const char *classid, const char *extrainfo, int defaultMinInputs, int defaultMaxInputs, bool issubnet, bool ispython)
bool loadScriptOperator (const char *opname, UT_IStream &is, OP_OTLLibrary *addToLib)
bool addOperatorIfNew (const OP_OTLDefinition &definition)
void requestReload ()
void runDSOInstall ()
bool loadDSO (const char *dso_file)
int entries () const
int getOperatorList (UT_StringList &list, int english=1)
int getOperators (OP_OperatorList &list, OP_Network *net=0, bool filterhidden=false)
OP_OpTypeId getOpTypeID () const
int getUniqueOpTypeID () const
void sortOperators (OP_OperatorList &list, OP_Operator::OP_OperatorCompare method=OP_Operator::OP_COMPARE_GEN_NAME)
const UT_StringgetName () const
const UT_StringgetScriptPath () const
unsigned getOperatorStatus (OP_Operator *op) const
unsigned getStatus (void) const
void setDefaultType (const char *type)
const char * getDefaultType () const
bool setOpRename (const char *optype, const char *newname)
void outputOpRenames (ostream &os) const
bool setOpAlias (const char *original, const char *alias)
void outputOpAliases (ostream &os) const
void getOpAliases (const char *opname, UT_StringArray &opaliases) const
const char * getOpFromAlias (const char *alias) const
bool addOpExcluded (const char *opname)
bool isOpExcluded (const char *opname)
void outputOpExcluded (ostream &os) const
void addOpHidden (const char *opname)
void delOpHidden (const char *opname)
bool isOpHidden (const char *opname)
void outputOpHidden (ostream &os) const
void getDefaultNodeName (const char *type, UT_String &name)
const char * getScriptedSubnetIndex () const
void notifyUpdateTableSinksOfUpdate ()
void getCandidateOperatorNamesInPrecedenceOrder (UT_StringArray &precedence_order, const char *op_name, const UT_StringArray *scope_network_stack)
const char * getPreferredOperatorName (const char *opname, const UT_StringArray *scope_network_stack)

Static Public Member Functions

static int getAllOperatorTables (OP_OperatorTableList &list)
static int getLoadDSOFlag ()
static void setLoadDSOFlag (int i)
static unsigned getPermissionMask (const OP_Operator *op)
static void clearPermissionMask (const OP_Operator *op)
static void buildOpTypeNamespaceHierarchy ()
static const char * getOpTypeNamespaceHierarchyPref ()

Friends

class OP_UpdateTableSink


Detailed Description

Examples:

CHOP/CHOP_Blend.C, CHOP/CHOP_Spring.C, CHOP/CHOP_Stair.C, COP2/COP2_FullImageFilter.C, COP2/COP2_MultiInputWipe.C, COP2/COP2_PixelAdd.C, COP2/COP2_SampleFilter.C, COP2/COP2_SampleGenerator.C, DOP/DOP_GroupAndApply.C, euclid/SOP_Euclid.C, field3d/ROP_Field3D.C, HOM/SOP_HOMWave.C, OBJ/OBJ_Lamp.C, OBJ/OBJ_Shake.C, OBJ/OBJ_WorldAlign.C, POP/POP_CircleForce.C, POP/POP_LocalForce.C, POP/POP_RadialBirth.C, POP/POP_SpotLight.C, ROP/ROP_DopField.C, ROP/ROP_Dumper.C, SOP/SOP_BlindData.C, SOP/SOP_BrushHairLen.C, SOP/SOP_CopRaster.C, SOP/SOP_CPPWave.C, SOP/SOP_CustomBrush.C, SOP/SOP_DetailAttrib.C, SOP/SOP_Flatten.C, SOP/SOP_GroupRename.C, SOP/SOP_HDKObject.C, SOP/SOP_IKSample.C, SOP/SOP_NURBS.C, SOP/SOP_PointWave.C, SOP/SOP_PrimVOP.C, SOP/SOP_SParticle.C, SOP/SOP_Star.C, SOP/SOP_Surface.C, SOP/SOP_TimeCompare.C, tetprim/SOP_Tetra.C, VOP/VOP_CustomContext.C, VOP/VOP_CustomContext.h, and VOP/VOP_Switch.C.

Definition at line 42 of file OP_OperatorTable.h.


Constructor & Destructor Documentation

OP_OperatorTable::OP_OperatorTable ( const char *  table_name,
const char *  script_directory 
)

OP_OperatorTable::~OP_OperatorTable (  ) 


Member Function Documentation

int OP_OperatorTable::addOperator ( OP_Operator op  ) 

bool OP_OperatorTable::addOperatorIfNew ( const OP_OTLDefinition definition  ) 

bool OP_OperatorTable::addOpExcluded ( const char *  opname  ) 

void OP_OperatorTable::addOpHidden ( const char *  opname  ) 

void OP_OperatorTable::addScriptIndexFile ( const char *  indexpath,
const char *  indexfile,
const char *  classid,
const char *  extrainfo,
int  defaultMinInputs,
int  defaultMaxInputs,
bool  issubnet,
bool  ispython 
)

static void OP_OperatorTable::buildOpTypeNamespaceHierarchy (  )  [static]

Builds (or rebuilds) the operator type namespace hierarchy. The optype precedense is given by the environment variable HOUDINI_OPTYPE_NAMESPACE_HIERARCHY, which is processed by this method.

static void OP_OperatorTable::clearPermissionMask ( const OP_Operator op  )  [static]

OP_Node* OP_OperatorTable::createNode ( OP_Network parent,
const char *  type,
const char *  name = 0,
int *  aliasedScriptedOp = 0,
bool  exact_type = false 
)

Creates a new node of a given type inside a parent and names it as a give name.

Parameters:
exact_type If true, the operator name parameter 'type', is used verbatim to lookup the operator. Otherwise, a preferred operator name that matches 'type' specification is found first and then is used to lookup the operator. For example, "hda" may match "hda::2.0", which is the preferred operator definition.

void OP_OperatorTable::delOpHidden ( const char *  opname  ) 

int OP_OperatorTable::entries ( void   )  const [inline]

Reimplemented from UT_SymbolTable.

Definition at line 92 of file OP_OperatorTable.h.

static int OP_OperatorTable::getAllOperatorTables ( OP_OperatorTableList list  )  [static]

void OP_OperatorTable::getCandidateOperatorNamesInPrecedenceOrder ( UT_StringArray precedence_order,
const char *  op_name,
const UT_StringArray scope_network_stack 
)

Obtains a list of available operator names that have the same base (core) name as the given operator. If scope network name is not NULL, the list includes only operators whose nodes can be created in that network (otherwise all operators are included). The list is sorted according to the descending precedence order.

void OP_OperatorTable::getDefaultNodeName ( const char *  type,
UT_String name 
)

const char* OP_OperatorTable::getDefaultType (  )  const

static int OP_OperatorTable::getLoadDSOFlag (  )  [inline, static]

Definition at line 159 of file OP_OperatorTable.h.

const UT_String& OP_OperatorTable::getName ( void   )  const [inline]

Definition at line 109 of file OP_OperatorTable.h.

void OP_OperatorTable::getOpAliases ( const char *  opname,
UT_StringArray opaliases 
) const

OP_Operator* OP_OperatorTable::getOperator ( const char *  name  ) 

int OP_OperatorTable::getOperatorList ( UT_StringList list,
int  english = 1 
)

int OP_OperatorTable::getOperators ( OP_OperatorList list,
OP_Network net = 0,
bool  filterhidden = false 
)

unsigned OP_OperatorTable::getOperatorStatus ( OP_Operator op  )  const

const char* OP_OperatorTable::getOpFromAlias ( const char *  alias  )  const

OP_OpTypeId OP_OperatorTable::getOpTypeID (  )  const

static const char* OP_OperatorTable::getOpTypeNamespaceHierarchyPref (  )  [static]

Obtains the value of the environment variable used to construct the hierarchy.

static unsigned OP_OperatorTable::getPermissionMask ( const OP_Operator op  )  [static]

const char* OP_OperatorTable::getPreferredOperatorName ( const char *  opname,
const UT_StringArray scope_network_stack 
)

Obtains the preferred operator name that matches the given op_name. Any name component included in the op_name must match the returned op type name, and any component not present in op_name is assumed to match the returned op type. For example 'hda' will match any scope, namespace, or version, while 'userAhda' will match any scope and version, but the namespace must be 'userA'. For global namespace use 'hda' and for versionless opname use 'hda::'. If the scope_network_stack is also given (ie, non-null) then the returned opname must match one of the scopes listed in that array too. Returns the name of the highest precedence operator that matches the given op_name.

OP_Operator* OP_OperatorTable::getPrimarySubnetOperator (  )  [inline]

Definition at line 67 of file OP_OperatorTable.h.

const char* OP_OperatorTable::getScriptedSubnetIndex (  )  const

const UT_String& OP_OperatorTable::getScriptPath (  )  const [inline]

Definition at line 110 of file OP_OperatorTable.h.

unsigned OP_OperatorTable::getStatus ( void   )  const

int OP_OperatorTable::getUniqueOpTypeID (  )  const [inline]

Definition at line 103 of file OP_OperatorTable.h.

bool OP_OperatorTable::isOpExcluded ( const char *  opname  ) 

bool OP_OperatorTable::isOpHidden ( const char *  opname  ) 

bool OP_OperatorTable::loadDSO ( const char *  dso_file  ) 

bool OP_OperatorTable::loadScriptOperator ( const char *  opname,
UT_IStream is,
OP_OTLLibrary addToLib 
)

void OP_OperatorTable::notifyUpdateTableSinksOfUpdate (  ) 

void OP_OperatorTable::outputOpAliases ( ostream &  os  )  const

void OP_OperatorTable::outputOpExcluded ( ostream &  os  )  const

void OP_OperatorTable::outputOpHidden ( ostream &  os  )  const

void OP_OperatorTable::outputOpRenames ( ostream &  os  )  const

void OP_OperatorTable::removeOperator ( OP_Operator op  ) 

void OP_OperatorTable::requestReload (  ) 

void OP_OperatorTable::runDSOInstall (  ) 

void OP_OperatorTable::setDefaultType ( const char *  type  ) 

static void OP_OperatorTable::setLoadDSOFlag ( int  i  )  [inline, static]

Definition at line 160 of file OP_OperatorTable.h.

bool OP_OperatorTable::setOpAlias ( const char *  original,
const char *  alias 
)

bool OP_OperatorTable::setOpRename ( const char *  optype,
const char *  newname 
)

void OP_OperatorTable::setScriptCreator ( OP_ScriptCreatorFunc  func  ) 

void OP_OperatorTable::sortOperators ( OP_OperatorList list,
OP_Operator::OP_OperatorCompare  method = OP_Operator::OP_COMPARE_GEN_NAME 
)


Friends And Related Function Documentation

friend class OP_UpdateTableSink [friend]

Definition at line 243 of file OP_OperatorTable.h.


The documentation for this class was generated from the following file:

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