Material Being Used
-
On 24/07/2018 at 09:14, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R14
Platform: Windows ; Mac ;
Language(s) : C++ ;---------
Is it possible to get whether a material is currently being used in a scene? In a similar way to how Remove Unused Materials checks, but without the deleting step.Dan
-
On 25/07/2018 at 02:21, xxxxxxxx wrote:
Hi Dan,
You can read the assignment data with the following code
Bool MyCommand::Execute(BaseDocument* doc) { BaseMaterial* mat = doc->GetActiveMaterial(); if (mat == nullptr) return true; GeData d; if (!mat->GetParameter(DescLevel(ID_MATERIALASSIGNMENTS), d, DESCFLAGS_GET_0)) return true; MatAssignData *mad = (MatAssignData* )d.GetCustomDataType(CUSTOMDATATYPE_MATASSIGN); if (mad) GePrint(String::IntToString(mad->GetObjectCount()) + " objects"); return true; }
If you have any question, please let me know.
Cheers,
Maxime