C4DtoA uses some generic nodes which can display parameters of different Arnold node entries depending on the type selected by the user. For example, Arnold Light or Arnold Driver is a generic node. To query the type of the node entry you have to use the following code:

#include "arnold_light.h"
#include "util/NodeIds.h"

void myfunc(BaseObject* object)
   BaseContainer* data = object->GetDataInstance();

   // get the type combo box value
   Int32 nodeid = data->GetInt32(C4DAI_LIGHT_TYPE);

   // if this is a spot light
   if (nodeid == C4DAIN_SPOT_LIGHT)
      // do something



  • No labels