EV_EXPRESSION Class Reference

#include <EXPR.h>

Inheritance diagram for EV_EXPRESSION:

UT_SmallObject< EV_EXPRESSION, UT_SMALLOBJECT_CLEANPAGES_DEFAULT, UT_SMALLOBJECT_PAGESIZE_DEFAULT, UT_SMALLOBJECT_THREADSAFE_ON > UT_SmallObjectDefaultSuperClass

List of all members.

Public Member Functions

 EV_EXPRESSION (EV_InlineFuncReturnType ret_type)
 ~EV_EXPRESSION ()
bool changeExpr (const char *source)
void unresolveVars (int thread)
void dirtyExpr ()
EXPR_LockgetLock () const
 Return a reference for thread-safe access.
bool evaluate (int thread, float &result)
bool evaluate (int thread, UT_String &result)
bool evaluate (int thread, ev_Vector &result)
bool evaluate (int thread, ev_Matrix &result)
EV_SYMBOLevaluate (int thread)
 Raw evaluation function that does no casting.
EV_SYMBOLevaluate (EV_InlineFuncReturnType func_ret_type, int thread)
 Raw evaluation function that does no casting.
void updateOpDependency (void *ref_id, int thread)
 Dependencies.
int changeOpReference (const char *new_fullpath, const char *old_fullpath, const char *old_cwd, const char *chan_name, const char *old_chan_name, int thread)
 Dependencies.
bool saveCompiledCode (ostream &os, int thread)
 Save and load compiled expressions.
bool loadCompiledCode (UT_IStream &is, int thread)
 Save and load compiled expressions.
unsigned int getFlags () const
 Flags.
bool hasFlag (unsigned int bit) const
 Flags.
void clearAllFlags ()
 Flags.
void setFlags (unsigned int flags)
 Flags.
void appendFlags (unsigned int flag)
 Flags.
void setEvaluated ()
 Flags.
bool isEvaluated () const
 Flags.
void clearFlagsBeforeEvaluation ()
const char * getSource () const
 Other accesors.
bool isCompiled () const
 Other accesors.
void * getSingleFunctionInstanceData (EV_FUNCTION *func, int thread, UT_String &argument)
bool isInExprFunc () const
void setInExprFunc (bool is_inside)
 Other accesors.


Detailed Description

Definition at line 301 of file EXPR.h.


Constructor & Destructor Documentation

EV_EXPRESSION::EV_EXPRESSION ( EV_InlineFuncReturnType  ret_type  )  [inline]

Definition at line 308 of file EXPR.h.

EV_EXPRESSION::~EV_EXPRESSION (  )  [inline]

Definition at line 318 of file EXPR.h.


Member Function Documentation

void EV_EXPRESSION::appendFlags ( unsigned int  flag  )  [inline]

Flags.

Definition at line 372 of file EXPR.h.

bool EV_EXPRESSION::changeExpr ( const char *  source  ) 

int EV_EXPRESSION::changeOpReference ( const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd,
const char *  chan_name,
const char *  old_chan_name,
int  thread 
)

Dependencies.

void EV_EXPRESSION::clearAllFlags (  )  [inline]

Flags.

Definition at line 368 of file EXPR.h.

void EV_EXPRESSION::clearFlagsBeforeEvaluation (  )  [inline]

This function is called before evaluating EXPR expressions and python expressions to clear the appropriate flags on the expression.

Definition at line 381 of file EXPR.h.

void EV_EXPRESSION::dirtyExpr (  ) 

EV_SYMBOL* EV_EXPRESSION::evaluate ( EV_InlineFuncReturnType  func_ret_type,
int  thread 
)

Raw evaluation function that does no casting.

EV_SYMBOL* EV_EXPRESSION::evaluate ( int  thread  )  [inline]

Raw evaluation function that does no casting.

Definition at line 336 of file EXPR.h.

bool EV_EXPRESSION::evaluate ( int  thread,
ev_Matrix result 
)

Common evaluation functions. NOTES:

  • These functions will cast to the desired return type.
  • The thread parameter should be equivalent to UTgetSTID()

bool EV_EXPRESSION::evaluate ( int  thread,
ev_Vector result 
)

Common evaluation functions. NOTES:

  • These functions will cast to the desired return type.
  • The thread parameter should be equivalent to UTgetSTID()

bool EV_EXPRESSION::evaluate ( int  thread,
UT_String result 
)

Common evaluation functions. NOTES:

  • These functions will cast to the desired return type.
  • The thread parameter should be equivalent to UTgetSTID()

bool EV_EXPRESSION::evaluate ( int  thread,
float &  result 
)

Common evaluation functions. NOTES:

  • These functions will cast to the desired return type.
  • The thread parameter should be equivalent to UTgetSTID()

unsigned int EV_EXPRESSION::getFlags (  )  const [inline]

Flags.

Definition at line 364 of file EXPR.h.

EXPR_Lock& EV_EXPRESSION::getLock (  )  const [inline]

Return a reference for thread-safe access.

Definition at line 407 of file EXPR.h.

void* EV_EXPRESSION::getSingleFunctionInstanceData ( EV_FUNCTION func,
int  thread,
UT_String argument 
)

getSingleFunctionInstanceData() returns the instance data for this expression's function which must be of form func("literal"). Returns NULL if this expression doesn't have the right form.

const char* EV_EXPRESSION::getSource (  )  const [inline]

Other accesors.

Definition at line 387 of file EXPR.h.

bool EV_EXPRESSION::hasFlag ( unsigned int  bit  )  const [inline]

Flags.

Definition at line 366 of file EXPR.h.

bool EV_EXPRESSION::isCompiled (  )  const [inline]

Other accesors.

Definition at line 389 of file EXPR.h.

bool EV_EXPRESSION::isEvaluated (  )  const [inline]

Flags.

Definition at line 376 of file EXPR.h.

bool EV_EXPRESSION::isInExprFunc (  )  const [inline]

isInExprFunc() says whether we are an expression inside a custom expr function. It is turned on in EX_ExprFunc.

Definition at line 400 of file EXPR.h.

bool EV_EXPRESSION::loadCompiledCode ( UT_IStream is,
int  thread 
)

Save and load compiled expressions.

bool EV_EXPRESSION::saveCompiledCode ( ostream &  os,
int  thread 
)

Save and load compiled expressions.

void EV_EXPRESSION::setEvaluated (  )  [inline]

Flags.

Definition at line 374 of file EXPR.h.

void EV_EXPRESSION::setFlags ( unsigned int  flags  )  [inline]

Flags.

Definition at line 370 of file EXPR.h.

void EV_EXPRESSION::setInExprFunc ( bool  is_inside  )  [inline]

Other accesors.

Definition at line 402 of file EXPR.h.

void EV_EXPRESSION::unresolveVars ( int  thread  ) 

void EV_EXPRESSION::updateOpDependency ( void *  ref_id,
int  thread 
)

Dependencies.


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

Generated on Fri May 25 00:10:22 2012 for HDK by  doxygen 1.5.9