On 26/01/2017 at 12:01, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R15
Platform: Windows ;
Language(s) : C++ ;
---------
Hello,
I am translating a Python script to C++, but I don't find how to perform the CallButton.
Python :
defMaillage = c4d.BaseObject(1024543) # Ocameshdeformer
inex = c4d.InExcludeData()
inex.InsertObject(peau, 1)
defMaillage[c4d.ID_CA_MESH_DEFORMER_OBJECT_CAGE_INCLUDE] = inex
defMaillage[c4d.ID_CA_MESH_DEFORMER_OBJECT_EXTERNAL] = c4d.ID_CA_MESH_DEFORMER_OBJECT_EXTERNAL_SURFACE
doc.InsertObject(peau)
defMaillage.InsertUnder(soi.obj)
c4d.CallButton(defMaillage, c4d.ID_CA_MESH_DEFORMER_OBJECT_INITIAL)
C++ :
BaseObject* defMaillage = BaseObject::Alloc(1024543); //Ocameshdeformer
BaseContainer* bc = defMaillage->GetDataInstance();
InExcludeData* inex = (InExcludeData* )bc->GetCustomDataType(ID_CA_MESH_DEFORMER_OBJECT_CAGE_INCLUDE, CUSTOMDATATYPE_INEXCLUDE_LIST);
inex->InsertObject(_peau, 1);
bc->SetInt32(ID_CA_MESH_DEFORMER_OBJECT_EXTERNAL, ID_CA_MESH_DEFORMER_OBJECT_EXTERNAL_SURFACE);
_doc->InsertObject(_peau, nullptr, nullptr);
defMaillage->InsertUnder(_obj);
// CallButton ?
How can we simulate the click to the button action ?
By the way, the InExcludeData* inex is null here, I don't know why. : /
Thanks,
César