HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DOP_FullPathData.h File Reference
#include "DOP_API.h"
#include <UT/UT_Array.h>
#include <UT/UT_String.h>
#include <OP/OP_Node.h>
#include <GU/GU_DetailHandle.h>
#include "DOP_Engine.h"
+ Include dependency graph for DOP_FullPathData.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DOP_FullPathData
 
class  DOP_FullPathDataArray
 

Functions

DOP_API bool DOPfindDataFromPath (const char *path, DOP_FullPathData &fulldata, fpreal time, OP_Node *relativetonode=0, bool dopparentisenough=false)
 
DOP_API bool DOPfindAllDataFromPath (const char *path, DOP_FullPathDataArray &fulldata, fpreal time, OP_Node *relativetonode=0, bool dopparentisenough=false)
 
DOP_API void DOPglobPathAndFindAllData (const char *path, DOP_FullPathDataArray &fulldata, OP_NodeList &nodatadopnets, fpreal time, OP_Node *relativetonode=0, OP_GlobContext *context=0)
 
DOP_API SIM_Time DOPsetBestTime (DOP_Parent *dopparent, SIM_Time time)
 
DOP_API OP_NodeDOPgetNodeFromDataPath (const char *path, fpreal time, OP_Node *relativetonode=0, bool dopparentisenough=false)
 Thread-safe method to find the owner node of a DOP data path. More...
 
DOP_API bool DOPgetWorldTransformFromDataPath (UT_DMatrix4 &xform, GU_ConstDetailHandle *gdh, bool &timedep, const char *path, OP_Context &context, OP_Node *relativetonode=0, bool dopparentisenough=false, OP_Node *interested_node=0)
 

Function Documentation

DOP_API bool DOPfindAllDataFromPath ( const char *  path,
DOP_FullPathDataArray fulldata,
fpreal  time,
OP_Node relativetonode = 0,
bool  dopparentisenough = false 
)
DOP_API bool DOPfindDataFromPath ( const char *  path,
DOP_FullPathData fulldata,
fpreal  time,
OP_Node relativetonode = 0,
bool  dopparentisenough = false 
)
DOP_API OP_Node* DOPgetNodeFromDataPath ( const char *  path,
fpreal  time,
OP_Node relativetonode = 0,
bool  dopparentisenough = false 
)

Thread-safe method to find the owner node of a DOP data path.

The following functions are the only ones which are thread-safe for accessing DOP data

DOP_API bool DOPgetWorldTransformFromDataPath ( UT_DMatrix4 xform,
GU_ConstDetailHandle gdh,
bool &  timedep,
const char *  path,
OP_Context context,
OP_Node relativetonode = 0,
bool  dopparentisenough = false,
OP_Node interested_node = 0 
)

Thread-safe method to world transform of the a DOP data path, optionally returning the geometry if there is any (and gdh is non-NULL). If given an interested_node, then we will add an extra input on it to the path.

DOP_API void DOPglobPathAndFindAllData ( const char *  path,
DOP_FullPathDataArray fulldata,
OP_NodeList nodatadopnets,
fpreal  time,
OP_Node relativetonode = 0,
OP_GlobContext context = 0 
)
DOP_API SIM_Time DOPsetBestTime ( DOP_Parent dopparent,
SIM_Time  time 
)

If the dopparent is currently simulating it is not possible to reset its time. Similarly, if the desired time is within the last timestep, we can't interpolate since the actual 'current' value of the object is stored at the end time. Returned from this is the new time to use for accesses. In case of unsimulated networks, it is the same as dopparent->setDOPTime(time); return time;