93 static void buildActivationRules(
void *
data,
100 static int setActivationCallback(
void *
data,
108 void applyDataFromInput(
fpreal time,
int inputidx,
109 int inputidxforsuffix,
111 const char *parentdataname,
114 bool changeuniquenamesuffix);
119 void getRequiredOutputs(
fpreal time,
int foroutputidx,
130 void processObjects(
fpreal time,
int foroutputidx,
136 void applyOutputData(
fpreal time,
int outputidx,
138 const char *parentdataname,
146 void getOutputInfo(
int outputidx,
DOP_InOutInfo &info)
const;
178 const char *
inputLabel(
unsigned idx)
const override;
199 static void initializeExpressions();
201 static void installCommands();
237 unsigned outputIdx = 0)
override;
239 int keeppos,
unsigned outputIdx = 0)
override;
248 const char *
label,
int,
257 void setCurrentObject(
int objectindex,
266 void copyCurrentObjectAndRelInto(
DOP_Node *dest)
const;
268 void clearCurrentObjectAndRel();
309 virtual void getRequiredOutputsSubclass(
fpreal time,
314 virtual void partitionObjectsSubclass(
fpreal time,
319 virtual void processObjectsSubclass(
fpreal time,
325 virtual void applyOutputDataSubclass(
fpreal time,
int outputidx,
327 const char *parentdataname,
331 virtual void getInputInfoSubclass(
int inputidx,
334 virtual void getOutputInfoSubclass(
int outputidx,
339 void makeFullDataName(
const char *root,
342 void makeUniqueDataName(
UT_String &dataname,
343 const char *parentdataname,
345 bool usenodepath)
const;
349 bool usenodepath)
const;
355 void moveGlobalErrorsToEngine();
359 virtual void ensureCachedDataIsValid(
const DOP_Engine &engine);
375 DOP_CookData &getCookData()
const;
379 int myCurrentObjectIndex;
380 int myCurrentObjectCount;
385 int64 myLastSimVersion;
virtual int saveCookedData(std::ostream &os, OP_Context &, int binary=0)=0
int64 getLastSimVersion() const
fpreal getH() const override
Node position/scale is used by the UI.
GLuint GLsizei const GLchar * label
fpreal getW() const override
Node position/scale is used by the UI.
virtual bool getWorldTransform(UT_Matrix4D &xform, OP_Context &)
#define SYS_VISIBILITY_EXPORT
GT_API const UT_StringHolder time
virtual bool getTransform(TransformMode mode, UT_Matrix4D &xform, OP_Context &)
UT_API UT_ErrorSeverity UTaddFatal(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
const GLuint GLenum const void * binary
virtual const char * inputLabel(unsigned idx) const
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
virtual DOP_Parent * castToDOPParent()
int getDandROpsEqual() override
virtual void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &parms)
UT_API UT_ErrorSeverity UTaddMessage(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
virtual OP_ERROR cookMe(OP_Context &context)=0
virtual void childFlagChange(OP_Node *)
void addWarning(DOP_ErrorCode code, const char *msg=0)
Adds a warning from the DOP error file.
virtual void clearInterrupted()
virtual OP_ERROR setInput(unsigned idx, OP_Node *op, unsigned outputIdx=0)
Sets a given input to connect to an output of a particular node.
Holds pointers to a number of SIM_Object objects.
virtual bool hasDifferentMultiInputs() const
virtual OP_ERROR setNamedInput(const OP_ConnectorId &input_name, OP_Node *op, const OP_ConnectorId *output_name=nullptr)
New input functions that use names instead of indices.
void opChanged(OP_EventType reason, void *data=0) override
virtual bool getIWorldTransform(UT_Matrix4D &xform, OP_Context &)
virtual unsigned orderedInputs() const
int updateDandROpsEqual(int check_inputs=1) override
virtual OP_Node * getRenderNodePtr()
GLuint const GLchar * name
virtual OP_DataType getCookedDataType() const =0
GLenum GLenum GLsizei void * table
virtual OP_OpTypeId getOpTypeID() const
static const char * theChildTableName
virtual OP_ERROR setNamedInputReference(const OP_ConnectorId &input_name, const char *label, int, const OP_ConnectorId *output_name=nullptr)
virtual const char * getChildType() const
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
virtual const char * getFileExtension(int binary) const =0
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
virtual void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
__hostdev__ constexpr T pi()
Pi constant taken from Boost to match old behaviour.
void addFatal(DOP_ErrorCode code, const char *msg=0)
Adds a fatal error from the DOP error file.
virtual void referencedParmChanged(int pi)
virtual const char * getOpType() const
UT_API UT_ErrorSeverity UTaddWarning(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
virtual OP_OpTypeId getChildTypeID() const =0
virtual bool evalVariableValue(UT_String &val, int index, int thread)
void addMessage(DOP_ErrorCode code, const char *msg=0)
Adds a message from the DOP error file.
This is the base class for all DOP nodes.
void addError(int code, const char *msg=0)
Adds an error from the DOP error file.
SYS_VISIBILITY_EXPORT void newDopOperator(OP_OperatorTable *table)
This declaration allows HDK users to write custom DOP operators.
virtual OP_ERROR bypassMe(OP_Context &context, int &copied_input)=0
UT_API UT_ErrorSeverity UTaddError(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
virtual void deleteCookedData()=0
static OP_VariablePair theVariablePair
virtual OP_ERROR setInputReference(unsigned idx, const char *label, int keeppos, unsigned outputIdx=0)
Connects an input to particular node by name in the network.