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
 Attributes for controlling the simulation behavior. More...
 
void setOffsetTime (const SIM_Time &t)
 
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
 
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 const DOP_ParentListgetAllDopParents ()
 This static function returns an array of all DOP_Parents. More...
 
static void setMostRecentDopParent (DOP_Parent *dopparent)
 
static OP_NodegetMostRecentDopOwner ()
 
static OP_NodegetMostRecentWriteableDopOwner ()
 
- Static Public Member Functions inherited from OP_DopParent
static OP_NodeopGetMostRecentDopOwner ()
 

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 33 of file DOP_Parent.h.

Constructor & Destructor Documentation

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

Member Function Documentation

int DOP_Parent::dopparentUniqueId ( ) const
inline

Definition at line 42 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.

static const DOP_ParentList& DOP_Parent::getAllDopParents ( )
static

This static function returns an array of all DOP_Parents.

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 87 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 78 of file DOP_Parent.h.

const SIM_Time& DOP_Parent::getLastSetTime ( ) const
protected
static OP_Node* DOP_Parent::getMostRecentDopOwner ( )
static

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.

static OP_Node* DOP_Parent::getMostRecentWriteableDopOwner ( )
static
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.

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

Reimplemented in OBJ_DopNet.

Definition at line 199 of file DOP_Parent.h.

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

Reimplemented in OBJ_DopNet.

Definition at line 200 of file DOP_Parent.h.

void DOP_Parent::notifySimulationChangeSinksOfChange ( )
protected
void DOP_Parent::notifySimulationChangeSinksOfDelete ( )
protected
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.

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 167 of file DOP_Parent.h.

void DOP_Parent::opGetSimExtraInputNodes ( OP_NodeList extras) const
overridevirtual

Implements OP_DopParent.

DEP_MicroNode& DOP_Parent::refilterParmsMicroNode ( )
inline

Definition at line 144 of file DOP_Parent.h.

const DEP_MicroNode& DOP_Parent::refilterParmsMicroNode ( ) const
inline

Definition at line 146 of file DOP_Parent.h.

DEP_MicroNode& DOP_Parent::resimParmsMicroNode ( )
inline

Definition at line 140 of file DOP_Parent.h.

const DEP_MicroNode& DOP_Parent::resimParmsMicroNode ( ) const
inline

Definition at line 142 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 89 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 82 of file DOP_Parent.h.

static void DOP_Parent::setMostRecentDopParent ( DOP_Parent dopparent)
static

This function moves a particular DOP_Parent to the front of the list of all DOP_Parents. This lets us treat this list as a "most recently used" stack.

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 138 of file DOP_Parent.h.

DEP_MicroNode& DOP_Parent::simMicroNode ( )
inline

Definition at line 136 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 225 of file DOP_Parent.h.

Definition at line 224 of file DOP_Parent.h.


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