HDK
|
#include <SOP_LightLink.h>
Classes | |
class | Node |
struct | VisibleInfo |
Public Types | |
typedef std::pair< std::string, std::string > | SetOp |
typedef std::pair< std::string, VisibleInfo > | VisibleOp |
Public Member Functions | |
SOP_LightLink () | |
~SOP_LightLink () | |
void | addPath (const char *path) |
Add a node to the tree. This will create all intermediate nodes. More... | |
bool | setMaterial (const char *path, const std::string &value) |
bool | setVisible (const char *path, int visible) |
Set the visibility for a given subtree. More... | |
bool | setViewportLOD (const char *path, GEO_ViewportLOD lod) |
Set the viewport LOD for a given subtree. More... | |
bool | setExpr (const char *path, const std::string &tag_expression) |
Set the expression string for a given subtree. More... | |
bool | addTag (UT_TagManager &m, const char *path, const UT_TagList &t) |
bool | rmTag (UT_TagManager &m, const char *path, const UT_TagList &t) |
void | clearTagExpressions () |
void | clearValues () |
Restore tree to default values. More... | |
bool | extractLeafPaths (UT_StringArray &paths) const |
Return a string array of all the unique paths. More... | |
void | getMaterialOps (UT_Array< SetOp > &ops) |
Find out which operations will set the appropriate materials. More... | |
void | getExprOps (UT_Array< SetOp > &ops) |
Find out which operations will set the proper light expressions. More... | |
void | getVisibleOps (UT_Array< VisibleOp > &ops) |
Find out which operations will set the proper visibility operations. More... | |
bool | getMaterial (const char *path, std::string &expr) const |
Get the material for the given path. More... | |
bool | getExpr (const char *path, std::string &expr) const |
Get the expression for the given path. More... | |
bool | getMatchingExpr (UT_TagManager &tags, const std::string &prepend, UT_Set< std::string > &selection, const UT_TagList &t) const |
void | dump (const char *msg) |
Static Public Attributes | |
static std::string | theAsterisk |
Class to manage visibility/material/light linking for packed primitives.
This class represents the paths for the SOP as a full tree. Operations can be performed on branches (including light linking operations). After the tree has been edited, you can get the operations by calling one of:
Definition at line 31 of file SOP_LightLink.h.
typedef std::pair<std::string, std::string> SOP_LightLink::SetOp |
Definition at line 47 of file SOP_LightLink.h.
typedef std::pair<std::string, VisibleInfo> SOP_LightLink::VisibleOp |
Definition at line 48 of file SOP_LightLink.h.
SOP_LightLink::SOP_LightLink | ( | ) |
SOP_LightLink::~SOP_LightLink | ( | ) |
void SOP_LightLink::addPath | ( | const char * | path | ) |
Add a node to the tree. This will create all intermediate nodes.
bool SOP_LightLink::addTag | ( | UT_TagManager & | m, |
const char * | path, | ||
const UT_TagList & | t | ||
) |
Add a light tag to the subtree specified by the given path. This will convert a node's expression to a compiled form. Please call clearTagExpressions()
when you're finshed editing the tree.
|
inline |
Convert any tag expressions to their string values. You must call this when you're finished calling addTag()/rmTag().
Definition at line 318 of file SOP_LightLink.h.
|
inline |
Restore tree to default values.
Definition at line 320 of file SOP_LightLink.h.
void SOP_LightLink::dump | ( | const char * | msg | ) |
bool SOP_LightLink::extractLeafPaths | ( | UT_StringArray & | paths | ) | const |
Return a string array of all the unique paths.
bool SOP_LightLink::getExpr | ( | const char * | path, |
std::string & | expr | ||
) | const |
Get the expression for the given path.
Find out which operations will set the proper light expressions.
bool SOP_LightLink::getMatchingExpr | ( | UT_TagManager & | tags, |
const std::string & | prepend, | ||
UT_Set< std::string > & | selection, | ||
const UT_TagList & | t | ||
) | const |
Match all node expressions against the given tags. The matching nodes will have their path's added to the selection
. Each path will be prefixed with the prepend
text.
bool SOP_LightLink::getMaterial | ( | const char * | path, |
std::string & | expr | ||
) | const |
Get the material for the given path.
Find out which operations will set the appropriate materials.
Find out which operations will set the proper visibility operations.
bool SOP_LightLink::rmTag | ( | UT_TagManager & | m, |
const char * | path, | ||
const UT_TagList & | t | ||
) |
Remove a light tag from the entire subtree specified by the given path. This will convert a node's expression to a compiled form. Please call clearTagExpressions()
when you're finshed editing the tree.
bool SOP_LightLink::setExpr | ( | const char * | path, |
const std::string & | tag_expression | ||
) |
Set the expression string for a given subtree.
bool SOP_LightLink::setMaterial | ( | const char * | path, |
const std::string & | value | ||
) |
Set the material for a given subtree. The node specified by the path (and all its children) will be set to use the specified material.
bool SOP_LightLink::setViewportLOD | ( | const char * | path, |
GEO_ViewportLOD | lod | ||
) |
Set the viewport LOD for a given subtree.
bool SOP_LightLink::setVisible | ( | const char * | path, |
int | visible | ||
) |
Set the visibility for a given subtree.
|
static |
Definition at line 50 of file SOP_LightLink.h.