Sorry, this should have been: return ( (dynamic_cast<CameraOp*>(op)) != 0);
Also, if you don't want to have to test whether the input is NULL later on in your plugin, you may want to implement default_input() as well, and make it return CameraOp::default_camera(); On Thu, Oct 6, 2011 at 9:21 AM, Ivan Busquets <ivanbusqu...@gmail.com>wrote: > In test_input(), return true if the input can be cast to a CameraOp, and > false otherwise: > > > > bool TestOperator::test_input(int n, DD::Image::Op* op) > { > std::cout<<"test_input"< if (n == 0) > return dynamic_cast(CameraOp) != 0; > return false; > } > > Hope that helps. > > Cheers, > Ivan > > On Thu, Oct 6, 2011 at 9:16 AM, AcidDrippa < > nuke-dev-re...@thefoundry.co.uk> wrote: > >> ** >> Hi, >> >> I've been experimenting with the NDK for the first time. So my first aim >> was to create a custom node and perform an input connection. >> >> I derived my operator from the Op class (like given in the SimpleAxis >> sample) and I want a single input connection from a camera. >> >> The dll compiles perfectly fine and I am able to create my node in the >> graph window, but I cannot connect the camera node to my node. >> >> These are the methods I used: >> >> NOTE: I haven't given the #includes and namespace in this snippet, but >> everything else is pretty much the same >> >> *Code:* >> static const char* const CLASS = "TestOperator"; >> static const char* const HELP = "Testing NDK development"; >> >> class TestOperator : public DD::Image::Op >> { >> >> public: >> TestOperator(Node* node) : Op(node){} >> >> virtual ~TestOperator(){}; >> >> virtual int minimum_inputs() const; >> virtual int maximum_inputs() const; >> >> DD::Image::CameraOp* input0() const { return >> (DD::Image::CameraOp*)(DD::Image::Op::input0()); } >> >> virtual bool test_input(int n, DD::Image::Op* op); >> >> const char* Class() const {return CLASS;} >> const char* node_help() const {return HELP;} >> >> static DD::Image::Op* build(Node* node); >> >> protected: >> >> void _validate(bool for_real); >> >> }; >> >> const Op::Description TestOperator::d(CLASS, "TestOperator", >> TestOperator::build); >> >> void TestOperator::_validate(bool for_real) >> { >> std::cout<<"In validate"<**validate(for_real); >> } >> } >> >> int TestOperator::minimum_inputs() const >> { >> return 1; >> } >> >> int TestOperator::maximum_inputs() const >> { >> return 1; >> } >> >> bool TestOperator::test_input(int n, DD::Image::Op* op) >> { >> std::cout<<"test_input"<** if (n == 0) >> return dynamic_cast**(op) != 0; >> return false; >> } >> >> Op* TestOperator::build(Node* node) >> { >> return new TestOperator(node); >> } >> >> >> >> Am I missing something? >> >> Any suggestions would be helpful. >> >> Thanks >> >> _______________________________________________ >> Nuke-dev mailing list >> Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev >> >> >
_______________________________________________ Nuke-dev mailing list Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev