...
Code Block |
---|
class MyIntegratorFactory : public RixIntegratorFactory { public: virtual RixSCParamInfo const* GetParamTable() override; virtual void Synchronize(RixContext&, RixSCSyncMsg, RixParameterList const*) override {} virtual int Init(RixContext& ctx, RtUString const) override { return 0; }; virtual void Finalize(RixContext&) override{}; virtual RixIntegrator* CreateIntegrator(RixContext& rixCtx, RtUString const handle, RixParameterList const* pList) override; virtual void DestroyIntegrator(RixIntegrator const* integrator) override; }; RixIntegrator* MyIntegratorFactory::CreateIntegrator(RixContext& rixCtx, RtUString const handle, RixParameterList const* pList) { PIXAR_ARGUSED(handle); PIXAR_ARGUSED(pList); return new MyIntegrator(this, rixCtx); } void MyIntegratorFactory::DestroyIntegrator(RixIntegrator const* integrator) { delete static_cast<MyIntegrator const*>(integrator); } |
And replace the existing RIX_INTEGRATORCREATE
and and RIX_INTEGRATORDELETE
by by the following:
Code Block |
---|
RIX_INTEGRATORFACTORYCREATE { PIXAR_ARGUSED(hint); return new MyIntegratorFactory(); } RIX_INTEGRATORFACTORYDESTROY { delete ((MyIntegratorFactory*)factory); } |
...