HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DOP_Parent Class Referenceabstract

#include <DOP_Parent.h>

+ Inheritance diagram for DOP_Parent:

Public Member Functions

 DOP_Parent ()
 
 ~DOP_Parent () override
 
const DOP_EnginegetEngine () const
 
DOP_EnginegetNonConstEngine ()
 
int dopparentUniqueId () const
 
void setNeedsToResimulateLastTimestep ()
 
void setNeedsToFilterData ()
 
void setNeedsToCompletelyReset () override
 
void setDOPTime (const SIM_Time &t)
 
const SIM_Time getDOPTime (const SIM_Time &t) const
 
const SIM_Time getGlobalTime (const SIM_Time &t) const
 
void resimulate ()
 
void resimulateToTime (const SIM_Time &t)
 
bool getNeedsResimulation () const
 
const SIM_TimegetOffsetTime () const
 
void setOffsetTime (const SIM_Time &t)
 
const SIM_TimegetLiveSimulationTime () const
 
void setLiveSimulationTime (const SIM_Time &t)
 
exint getLastLiveTick () const
 
void setLastLiveTick (exint tick)
 
fpreal getTimeScale () const
 
void setTimeScale (fpreal scale)
 
bool getAutoResimulation () const
 
void setAutoResimulation (bool autoreset)
 
bool getInterpolateData (const SIM_Time &t) const
 
void setInterpolateData (bool interpolate)
 
bool getIsSimulating () const
 
virtual bool getIsTimeless () const
 
void setIsSimulating (bool val)
 
bool getDisableSimulation () const
 
void setDisableSimulation (bool disable)
 
void findAllObjectsFromString (const char *objspec, SIM_ConstObjectArray &objects, const SIM_Time &t) const
 
const SIM_ObjectfindObjectFromString (const char *objspec, int whichmatch, int *nummatch, const SIM_Time &t) const
 
void findAllRelationshipsFromString (const char *relspec, SIM_ConstDataArray &relationships, const SIM_Time &t) const
 
const SIM_RelationshipfindRelationshipFromString (const char *relspec, int whichmatch, int *nummatch, const SIM_Time &t) const
 
DOP_Node::DOP_CookData & getDopNodeCookData ()
 
void sendResimulateNotification (bool callnotify, bool changingguideparm)
 
DEP_MicroNodesimMicroNode ()
 
DEP_MicroNodesimInputMicroNode ()
 
DEP_MicroNoderesimParmsMicroNode ()
 
const DEP_MicroNoderesimParmsMicroNode () const
 
DEP_MicroNoderefilterParmsMicroNode ()
 
const DEP_MicroNoderefilterParmsMicroNode () const
 
void opGetSimExtraInputNodes (OP_NodeList &extras) const override
 
fpreal opGetLatestCacheTime () const override
 
OP_NodeopGetOwner () const override
 
void opSendResimulateNotification (bool callnotify, bool changingguideparm) override
 
void opResimulate () override
 
void opResetPlayer () override
 
bool opIsContinuousCook () const override
 Returns if the operator is in Continous Cook mode. More...
 
exint opContinuousCookTick () const override
 Current continuous cook tick. More...
 
bool opIsSimFrameCached (exint simframe) const override
 Note this is in simulation frames, not global. More...
 
virtual void addExtraSimDependencies (DEP_MicroNode *depnode)
 
bool opGetNeedsResimulation () const override
 
bool opGetDisableSimulation () const override
 
void opGetDiskCache (UT_Array< int > &frames) const override
 Query cache size. More...
 
void opGetMemoryCache (UT_Array< int > &frames) const override
 
void updateResimParms (const SIM_Time &t)
 
- Public Member Functions inherited from OP_DopParent
 OP_DopParent ()
 
virtual ~OP_DopParent ()
 
virtual bool opIsPlayer () const =0
 Checks to see if the dop is in play mode. More...
 

Static Public Member Functions

static OP_NodegetMostRecentDopOwner ()
 
static OP_NodegetMostRecentWriteableDopOwner ()
 The most recent writeable will be a DOP_Parent. More...
 
- Static Public Member Functions inherited from OP_DopParent
static const DOP_ParentListgetAllDopParents ()
 This static function returns an array of all DOP_Parents. More...
 
static void setMostRecentDopParent (OP_DopParent *dopparent)
 
static OP_NodeopGetMostRecentDopOwner ()
 
static OP_DopParentopGetMostRecentDopParent ()
 

Protected Member Functions

const SIM_TimegetLastSetTime () const
 
void resimulateLastTimestep ()
 
void setNeedsToFilterData (const SIM_Time &t)
 
void filterDataIfRequired () const
 Check if we need to filter our simulation data, and do so if required. More...
 
void filterData (const SIM_Time &t)
 
virtual const DOP_EnginegetEngineSubclass () const =0
 
virtual void resimulateLastTimestepSubclass ()
 
virtual void setDOPTimeSubclass (const SIM_Time &t)
 
virtual DOP_EnginegetNonConstEngineSubclass ()=0
 
virtual void filterDataSubclass (const SIM_Time &t)=0
 
virtual void handleRefilterParms (const SIM_Time &t)
 
virtual void handleResimParms (const SIM_Time &t)
 
void notifySimulationChangeSinksOfChange ()
 
void notifySimulationChangeSinksOfDelete ()
 

Friends

class DOP_SimulationChangeSink
 
class DOP_Engine
 

Detailed Description

Definition at line 31 of file DOP_Parent.h.

Constructor & Destructor Documentation

DOP_Parent::DOP_Parent ( )
DOP_Parent::~DOP_Parent ( )
override

Member Function Documentation

virtual void DOP_Parent::addExtraSimDependencies ( DEP_MicroNode depnode)
inlinevirtual

Reimplemented in OBJ_DopNet.

Definition at line 170 of file DOP_Parent.h.

int DOP_Parent::dopparentUniqueId ( ) const
inline

Definition at line 40 of file DOP_Parent.h.

void DOP_Parent::filterData ( const SIM_Time t)
protected

This function calls filterDataSubclass() to cache pointers to the simulation data that is of interest to us.

void DOP_Parent::filterDataIfRequired ( ) const
protected

Check if we need to filter our simulation data, and do so if required.

virtual void DOP_Parent::filterDataSubclass ( const SIM_Time t)
protectedpure virtual

Implemented in OBJ_DopNet.

void DOP_Parent::findAllObjectsFromString ( const char *  objspec,
SIM_ConstObjectArray objects,
const SIM_Time t 
) const

Get all objects that match a particular string. This calls the SIM_Engine::findAllObjectsFromString() function, but converts the time value from global time to simulation time, and passes our getInterpolateData() value as the interpolate parameter.

void DOP_Parent::findAllRelationshipsFromString ( const char *  relspec,
SIM_ConstDataArray relationships,
const SIM_Time t 
) const

Get all relationships that match a particular string. This calls the SIM_Engine::findAllRelationshipsFromString() function, but converts the time value from global time to simulation time, and passes our getInterpolateData() value as the interpolate parameter.

const SIM_Object* DOP_Parent::findObjectFromString ( const char *  objspec,
int  whichmatch,
int nummatch,
const SIM_Time t 
) const

Get the object that matches a particular string. This calls the SIM_Engine::findObjectFromString() function, but converts the time value from global time to simulation time, and passes our getInterpolateData() value as the interpolate parameter.

const SIM_Relationship* DOP_Parent::findRelationshipFromString ( const char *  relspec,
int  whichmatch,
int nummatch,
const SIM_Time t 
) const

Get the relationship that matches a particular string. This calls the SIM_Engine::findRelationshipFromString() function, but converts the time value from global time to simulation time, and passes our getInterpolateData() value as the interpolate parameter.

bool DOP_Parent::getAutoResimulation ( ) const
bool DOP_Parent::getDisableSimulation ( ) const
inline

Used externally to flag that we do not want to resimulate due to our setDOPTime() invocations.

Definition at line 92 of file DOP_Parent.h.

DOP_Node::DOP_CookData& DOP_Parent::getDopNodeCookData ( )

Returns data used by DOP_Nodes during their cook process. This is information that is global to the DOP Network as it cooks.

const SIM_Time DOP_Parent::getDOPTime ( const SIM_Time t) const

Returns the simulation time that corresponds to a given global Houdini time.

const DOP_Engine& DOP_Parent::getEngine ( ) const
virtual const DOP_Engine& DOP_Parent::getEngineSubclass ( ) const
protectedpure virtual

Implemented in OBJ_DopNet.

const SIM_Time DOP_Parent::getGlobalTime ( const SIM_Time t) const

Returns the global Houdini time that corresponds to a given simulation time.

bool DOP_Parent::getInterpolateData ( const SIM_Time t) const
bool DOP_Parent::getIsSimulating ( ) const
virtual bool DOP_Parent::getIsTimeless ( ) const
inlinevirtual

Reimplemented in OBJ_DopNet.

Definition at line 83 of file DOP_Parent.h.

exint DOP_Parent::getLastLiveTick ( ) const
const SIM_Time& DOP_Parent::getLastSetTime ( ) const
protected
const SIM_Time& DOP_Parent::getLiveSimulationTime ( ) const

Live Simulation time is a simulation time of where the live sim currently is.

static OP_Node* DOP_Parent::getMostRecentDopOwner ( )
inlinestatic

The current dopnet may not be the top of the recently used. Dopnets that are inside locked assets, for example, are rather useless as destinations. Except we do want access to those for tracking cache settings, reset flags, etc. These may also be dop-like caches.

Definition at line 179 of file DOP_Parent.h.

static OP_Node* DOP_Parent::getMostRecentWriteableDopOwner ( )
static

The most recent writeable will be a DOP_Parent.

bool DOP_Parent::getNeedsResimulation ( ) const

Returns true if the DOP network has changed such that the simulation needs to be reset.

DOP_Engine& DOP_Parent::getNonConstEngine ( )
virtual DOP_Engine& DOP_Parent::getNonConstEngineSubclass ( )
protectedpure virtual

Implemented in OBJ_DopNet.

const SIM_Time& DOP_Parent::getOffsetTime ( ) const

Attributes for controlling the simulation behavior. Offset time is a global time for mapping simulation time 0

fpreal DOP_Parent::getTimeScale ( ) const
virtual void DOP_Parent::handleRefilterParms ( const SIM_Time t)
inlineprotectedvirtual

Reimplemented in OBJ_DopNet.

Definition at line 216 of file DOP_Parent.h.

virtual void DOP_Parent::handleResimParms ( const SIM_Time t)
inlineprotectedvirtual

Reimplemented in OBJ_DopNet.

Definition at line 217 of file DOP_Parent.h.

void DOP_Parent::notifySimulationChangeSinksOfChange ( )
protected
void DOP_Parent::notifySimulationChangeSinksOfDelete ( )
protected
exint DOP_Parent::opContinuousCookTick ( ) const
inlineoverridevirtual

Current continuous cook tick.

Implements OP_DopParent.

Reimplemented in OBJ_DopNet.

Definition at line 168 of file DOP_Parent.h.

bool DOP_Parent::opGetDisableSimulation ( ) const
overridevirtual

Implements OP_DopParent.

void DOP_Parent::opGetDiskCache ( UT_Array< int > &  frames) const
overridevirtual

Query cache size.

Implements OP_DopParent.

fpreal DOP_Parent::opGetLatestCacheTime ( ) const
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 157 of file DOP_Parent.h.

void DOP_Parent::opGetMemoryCache ( UT_Array< int > &  frames) const
overridevirtual

Implements OP_DopParent.

bool DOP_Parent::opGetNeedsResimulation ( ) const
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 184 of file DOP_Parent.h.

OP_Node* DOP_Parent::opGetOwner ( ) const
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 159 of file DOP_Parent.h.

void DOP_Parent::opGetSimExtraInputNodes ( OP_NodeList extras) const
overridevirtual

Implements OP_DopParent.

bool DOP_Parent::opIsContinuousCook ( ) const
inlineoverridevirtual

Returns if the operator is in Continous Cook mode.

Implements OP_DopParent.

Reimplemented in OBJ_DopNet.

Definition at line 167 of file DOP_Parent.h.

bool DOP_Parent::opIsSimFrameCached ( exint  simframe) const
overridevirtual

Note this is in simulation frames, not global.

Implements OP_DopParent.

void DOP_Parent::opResetPlayer ( )
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 166 of file DOP_Parent.h.

void DOP_Parent::opResimulate ( )
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 165 of file DOP_Parent.h.

void DOP_Parent::opSendResimulateNotification ( bool  callnotify,
bool  changingguideparm 
)
inlineoverridevirtual

Implements OP_DopParent.

Definition at line 162 of file DOP_Parent.h.

DEP_MicroNode& DOP_Parent::refilterParmsMicroNode ( )
inline

Definition at line 149 of file DOP_Parent.h.

const DEP_MicroNode& DOP_Parent::refilterParmsMicroNode ( ) const
inline

Definition at line 151 of file DOP_Parent.h.

DEP_MicroNode& DOP_Parent::resimParmsMicroNode ( )
inline

Definition at line 145 of file DOP_Parent.h.

const DEP_MicroNode& DOP_Parent::resimParmsMicroNode ( ) const
inline

Definition at line 147 of file DOP_Parent.h.

void DOP_Parent::resimulate ( )
void DOP_Parent::resimulateLastTimestep ( )
protected
virtual void DOP_Parent::resimulateLastTimestepSubclass ( )
protectedvirtual
void DOP_Parent::resimulateToTime ( const SIM_Time t)

Resets the simulation and cooks to a specific DOP time, this avoids double cooking if you are resetting to frame 0.

void DOP_Parent::sendResimulateNotification ( bool  callnotify,
bool  changingguideparm 
)

Sends out a parm changed message so that anyone interested in the simulation will know to refresh their data. This call also protects the DOP Network from causing infinite recursion when the DOP Network is interested in a SOP node which is interested in the DOP Network (a common and legal situation when using a SOP Solver, for example).

void DOP_Parent::setAutoResimulation ( bool  autoreset)
void DOP_Parent::setDisableSimulation ( bool  disable)
inline

Definition at line 94 of file DOP_Parent.h.

void DOP_Parent::setDOPTime ( const SIM_Time t)

Sets the current simulation time, solving all intermediate steps. Note that the time t passed in to this function is a global Houdini time, and may not match the simulation time.

virtual void DOP_Parent::setDOPTimeSubclass ( const SIM_Time t)
protectedvirtual

Reimplemented in OBJ_DopNet.

void DOP_Parent::setInterpolateData ( bool  interpolate)
void DOP_Parent::setIsSimulating ( bool  val)
inline

Used by SIM_Engine to flag this privately if it is during an internally generated simulation pass

Definition at line 87 of file DOP_Parent.h.

void DOP_Parent::setLastLiveTick ( exint  tick)
void DOP_Parent::setLiveSimulationTime ( const SIM_Time t)
void DOP_Parent::setNeedsToCompletelyReset ( )
overridevirtual

Implements OP_DopParent.

void DOP_Parent::setNeedsToFilterData ( )
void DOP_Parent::setNeedsToFilterData ( const SIM_Time t)
protected

Sets a flag that says we need to re-filter our simulation data the next time a request for the data is made.

void DOP_Parent::setNeedsToResimulateLastTimestep ( )
void DOP_Parent::setOffsetTime ( const SIM_Time t)
void DOP_Parent::setTimeScale ( fpreal  scale)
DEP_MicroNode& DOP_Parent::simInputMicroNode ( )
inline

Definition at line 143 of file DOP_Parent.h.

DEP_MicroNode& DOP_Parent::simMicroNode ( )
inline

Definition at line 141 of file DOP_Parent.h.

void DOP_Parent::updateResimParms ( const SIM_Time t)

Update re-simulation parameters, ensuring getOffsetTime and the ilk are valid. This is required before getDOPTime will work as expected (but note setDOPTime() implicitly invokes this)

Friends And Related Function Documentation

friend class DOP_Engine
friend

Definition at line 245 of file DOP_Parent.h.

Definition at line 244 of file DOP_Parent.h.


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