Nuke binary plugins 16.1.1
 
Loading...
Searching...
No Matches
DD::Image::SourceGeomOp::SourceEngine Class Referenceabstract

The plugin author must at least implement the createPrims() method. More...

#include <SourceGeomOp.h>

Inheritance diagram for DD::Image::SourceGeomOp::SourceEngine:
DD::Image::GeomOpEngine

Protected Member Functions

 SourceEngine (GeomOpNode *parent)
 
SourceGeomOpsourceGeomOp () const
 
void processScenegraph (usg::GeomSceneContext &context) override
 Initializes the scene state then calls the subclass createPrims().
 
virtual void createPrims (usg::GeomSceneContext &context, const usg::Path &path)=0
 
void assignMaterial (usg::GeomSceneContext &context, const usg::PathArray &primPaths)
 Creates and assigns the Material to the given prims.
 
- Protected Member Functions inherited from DD::Image::GeomOpEngine
 GeomOpEngine (GeomOpNode *parent)
 
void _printInput (std::ostream &o, const GeomOpEngine::Input &b) const
 
void setOwnerNode ()
 Sets the owner node data in the edit layer to point to the owning node.
 
void _updateState (ndk::GraphScopeId nodeGraphScopeId, fdk::TimeValueSet &sampleTimes, std::set< int32_t > &sampleViews)
 
virtual void _updatePathsToInjectFromInput ()
 

Protected Attributes

usg::GeomStateTarget materialTopologyTarget
 'material-topology' - affects the define-geometry target
 
usg::GeomStateTarget materialPropertyTarget
 'material-property' - affects the edit-stage target
 
usg::GeomStateTarget modifyXformTarget
 'modify-xform' - affects the modify-values target
 
usg::Token _parentPrimType
 The type of prim to create for the main prim's parent (default Xform)
 
usg::Path _evaluatedPrimPath
 Evaluated output path of prim in stage.
 
TransformGeomOpI::SubEngine _transformSubEngine
 
MaterialBindingOpI::SubEngine _materialBindingSubEngine
 
- Protected Attributes inherited from DD::Image::GeomOpEngine
GeomOpNode * _geomNode
 Owner node.
 
ndk::GraphScopeId _graphScopeId
 Node graph context hash identifier, unique to the GraphScope.
 
usg::ShaderDescGroupPtrMap _shaderDescGroups
 Groups of locally-created ShaderDescs.
 
InjectedPaths _pathsToInjectDownstreamByType
 Array of prim path arrays to be injected downstream where the array is indexed by the injection type.
 

Additional Inherited Members

- Public Types inherited from DD::Image::GeomOpEngine
enum class  InjectionType : int32_t { DownstreamEngineDefault , NextEngineOverride , NumElements }
 
using InjectedPaths = std::array< std::shared_ptr< usg::PathArray >, static_cast< int32_t >(InjectionType::NumElements)>
 
- Public Member Functions inherited from DD::Image::GeomOpEngine
std::string name () const override
 
OpfirstOp () const
 
KnobnodeKnob (const char *knobName) const
 Return the raw Knob* from the parent Node.
 
ndk::GraphScopeId graphScopeId () const
 
uint64_t version () const
 Version number of engine, incremented when state changes.
 
KnobBinding knob (const char *knobName) const
 Return a read handle to the named Knob from the engine.
 
template<typename T >
getValue (const KnobBinding &knob) const
 Convenience method to get a value from a KnobBinding, if it's valid.
 
template<typename T >
getValue (const char *knobName) const
 Convenience method to get a value from a named Knob, if it exists.
 
template<typename T >
getValue (const T &defaultValue, const char *knobName, double frame, int view=-1) const
 Convenience method to get a value from a named Knob, if it exists, otherwise return defaultValue.
 
template<typename T >
getValue (const T &defaultValue, const char *knobName) const
 getValue() variant for uniform (non-animating) Knobs, or if the default uiContext() is desired.
 
template<typename T >
void getValue (T &v, const char *knobName, double frame, int view=-1) const
 
template<typename T >
void getValue (T &v, const char *knobName) const
 getValue(&T) variant for uniform (non-animating) Knobs, or if the default uiContext() is desired.
 
template<typename T >
getValue (const T &defaultValue, const KnobBinding &knob, double frame, int view=-1) const
 Convenience method to get a value from a KnobBinding, if it's valid, otherwise return defaultValue.
 
template<typename T >
getValue (const T &defaultValue, const KnobBinding &knob) const
 getValue() variant for uniform (non-animating) Knobs, or if the default uiContext() is desired.
 
OpGraphLocation inputConnection (uint32_t nodeInput)
 
Op::Input inputConnectionAt (uint32_t nodeInput, double frame, const OutputContext &inputCtx, Execute *execute=nullptr)
 
Op::Input inputConnectionAt (uint32_t nodeInput, double frame, int32_t view=-1, Execute *execute=nullptr)
 
OpinputOpAt (uint32_t nodeInput, double frame, const OutputContext &inputCtx, Execute *execute=nullptr)
 
OpinputOpAt (uint32_t nodeInput, double frame, int32_t view=-1, Execute *execute=nullptr)
 
OpinputOp (uint32_t nodeInput) const
 
size_t nInputs () const override
 Return the number of Node input connections. Note that these are NOT Op inputs.
 
GeomEngine * inputEngine (uint32_t nodeInput) const override
 
GeomEngine * inputEngine0 () const override
 
GeomEngine * inputEngine1 () const override
 
void printInputs (std::ostream &, const char *prefix="") const
 Prints the contents of the current input.
 
bool validateState (bool forceUpdate=false)
 
void processScenegraph (usg::GeomSceneContext &context) override
 
void updateStateToContext (const OutputContext &context)
 
const fdk::Hash & lastRequestHash () const
 
virtual usg::Path importShaderOp (bool createMode, usg::GeomSceneContext &context, const Op::InputConnectionContextList &sourceOps, uint32_t materialGroupIndex, const usg::Path &materialLibraryPath)
 
virtual void assignMaterialBinding (usg::GeomSceneContext &context, bool createMode, const usg::Path &materialPath, const usg::PathArray &primPaths)
 
std::shared_ptr< usg::PathArray > getPathsToInjectDownstream (InjectionType type) const
 Returns the prim paths for a particular injection type that should be injected into the downstream engine.
 
void setPathsToInjectDownstream (InjectionType type, std::shared_ptr< usg::PathArray > paths)
 Sets the prim paths for a particular injection type that should be injected into the downstream engine.
 
- Protected Types inherited from DD::Image::GeomOpEngine
using InputList = std::vector< Input >
 

Detailed Description

The plugin author must at least implement the createPrims() method.

Member Function Documentation

◆ createPrims()

virtual void DD::Image::SourceGeomOp::SourceEngine::createPrims ( usg::GeomSceneContext &  context,
const usg::Path &  path 
)
protectedpure virtual

Subclasses implement this to create primitives. context is the scene context path is the suggested path for the new prims.

Referenced by processScenegraph().



©2026 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.foundry.com