THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/09/2010 at 08:01, xxxxxxxx wrote:
Cinema 4D Version: R12
Platform: Windows ;
Language(s) : C++ ;
I'm being particularly dense here, this is such a simple question. How do you get the document settings for a document? Here's what I'm doing in this code snippet, where 'doc' is a valid pointer to the current document:
// get the document's base container
bc = doc->GetData(DOCUMENTSETTINGS_GENERAL);
// get the linear workflow setting
// ... rest of code
Then the Bool I want always returns FALSE, even when the setting is clearly on. If I use doc->GetSettingsInstance(DOCUMENTSETTINGS_GENERAL) instead, it always returns a NULL pointer.
There's something wrong with what I'm doing, but what? All I want to do is get the value of the linear workflow switch in the document settings.
On 20/09/2010 at 01:23, xxxxxxxx wrote:
The easiest way is to simply access the document's container directly.
BaseContainer *data = doc->GetDataInstance();
Bool lwf = data->GetBool(DOCUMENT_LINEARWORKFLOW,TRUE);
doc- >GetData(DOCUMENTSETTINGS_GENERAL) returns the container IDs from 1000 to 1020. The LWF option has the ID of 2102. It is included in the container returned by DOCUMENTSETTINGS_DOCUMENT.
DOCUMENT_TIME = 1000, // BASETIME
DOCUMENT_FPS = 1001, // LONG
DOCUMENT_MINTIME = 1002, // BASETIME
DOCUMENT_MAXTIME = 1003, // BASETIME
DOCUMENT_LOOPMINTIME = 1004, // BASETIME
DOCUMENT_LOOPMAXTIME = 1005, // BASETIME
DOCUMENT_LOD = 1006, // REAL
DOCUMENT_RENDERLOD = 1007, // BOOL
DOCUMENT_USEANIMATION = 1008, // BOOL
DOCUMENT_USEEXPRESSIONS = 1009, // BOOL
DOCUMENT_USEGENERATORS = 1010, // BOOL
DOCUMENT_USEDEFORMERS = 1011, // BOOL
DOCUMENT_PATH = 1012, // FILENAME
DOCUMENT_NAME = 1013, // FILENAME
DOCUMENT_STATEX = 1014, // BOOL
DOCUMENT_STATEY = 1015, // BOOL
DOCUMENT_STATEZ = 1016, // BOOL
DOCUMENT_STATEW = 1017, // BOOL
DOCUMENT_USERCHANGE = 1018, // BOOL
DOCUMENT_MODE = 1019, // LONG
DOCUMENT_ACTION = 1020, // LONG
On 20/09/2010 at 04:05, xxxxxxxx wrote:
Aha, now I understand, thank you!
When you have a moment, could the docs on this be upgraded? For DOCUMENTSETTINGS_GENERAL, the SDK says 'see ddoc.h'. Which I did, and the LWF flag is part of the enum, so it made me think the returned container would include that setting. Also, DOCUMENTSETTINGS_DOCUMENT is marked in the docs as 'Private!' which makes you think it shouldn't be used, when it obviously can be.