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

The type for missing parent prims we create. More...

#include <SourceGeomOp.h>

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

Protected Member Functions

 SourceEngine (Op *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
 
- Protected Member Functions inherited from DD::Image::GeomOpEngine
 GeomOpEngine (Op *parent)
 
virtual usg::Path importShaderOp (bool create_mode, usg::GeomSceneContext &scene_context, const std::vector< Op * > &source_ops, uint32_t material_group_index, const usg::Path &material_library_path)
 
virtual usg::Path importLightOp (bool create_mode, usg::GeomSceneContext &scene_context, const std::vector< LightOp * > &source_light_ops, const usg::Path &light_prim_path, const usg::Path &material_library_path=usg::Path())
 
virtual void assignMaterialBinding (usg::GeomSceneContext &context, bool create_mode, const usg::Path &material_path, const usg::PathArray &primPaths)
 
void setOwnerNode ()
 Sets the owner node data in the edit layer to point to the owning node.
 

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.
 
- Protected Attributes inherited from DD::Image::GeomOpEngine
Op_firstOp
 Op that's guaranteed to exist and offer access to Nuke Node.
 
GeomOpSet _memberGeomOps
 All GeomOps sharing this engine - NOT the current active engine set!
 
fdk::Hash _lastVersionsHash
 The last combined GeomOp versions hashes.
 
fdk::Hash _lastRequestHash
 The last combined GeomOp hashes passed to the most recent buildStage()
 
usg::ShaderDescGroupPtrMap _shaderDescGroups
 Groups of locally-created ShaderDescs.
 

Additional Inherited Members

- Public Types inherited from DD::Image::GeomOpEngine
using Builder = std::function< GeomOpEngine *(Op *)>
 'parent' is automatically provided when the first GeomOpEngine request is made.
 
using OpInput = std::pair< Op *, OutputContext >
 Combination of input Op and its OutputContext when cached in map.
 
using OpInputTimeMap = std::map< double, OpInput >
 
using OpInputTimeMapList = std::vector< OpInputTimeMap >
 
using OpInputTimeWarpMap = std::map< double, double >
 
using InputBindingList = std::vector< InputBinding >
 
- Public Member Functions inherited from DD::Image::GeomOpEngine
std::string name () const override
 
OpfirstOp () const
 
void addMemberGeomOp (GeomOp *geop)
 Add to the node's GeomOp member set.
 
void removeMemberGeomOp (GeomOp *geop)
 Remove from the node's GeomOp member set.
 
const GeomOpSet & memberGeomOps () const
 
GeomOpgeomOpAt (double frame, int32_t view=-1) const
 
GeomOpgeomOpAtContext (const OutputContext &context) const
 Same as geomOpAt() but takes OutputContext.
 
GeomOpSet geomOpsFor (const std::set< int32_t > &views, const fdk::TimeValueSet &times) const
 Find all the GeomOps matching the views and times.
 
KnobBinding knob (const char *knob_name) 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.
 
OpinputOpAt (uint32_t node_input, double frame, const OutputContext &ctx)
 
OpinputOpAt (uint32_t node_input, double frame, int32_t view=-1)
 
size_t nInputs () const override
 
size_t nInputOps () const
 Returns the sum of all InputBinding op_split_counts.
 
const InputBindinginputBinding (uint32_t node_input) const
 
GeomEngine * inputEngine (uint32_t node_input) const override
 
GeomEngine * inputEngine0 () const override
 
GeomEngine * inputEngine1 () const override
 
OpinputBaseOp (uint32_t node_input)
 
void printInputBindings (std::ostream &, const char *prefix="") const
 Prints the contents of the current InputBindings.
 
void processScenegraph (usg::GeomSceneContext &context) override
 This just sets the nuke:node data on the edit layer so we can go back from the Layer to the Node that created it.
 
void updateGeomEngineState (const usg::ArgSet &request_args, const GeomOpSet &geops, fdk::TimeValueSet &active_times)
 
const fdk::Hash & lastRequestHash () const
 
void setRequestHash (const fdk::Hash &hash)
 Assign the value of the request hash, usually done in GeomOp::buildStage().
 

Detailed Description

The type for missing parent prims we create.

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().



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