<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SDK Help]]></title><description><![CDATA[SDK Help]]></description><link>http://developers.maxon.net/forum/category/39</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 15:33:03 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum/category/39.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Sep 2018 11:00:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Launch color picker dialog]]></title><description><![CDATA[<p dir="auto"><em>On 29/08/2018 at 05:26, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R18 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hello.</p>
<p dir="auto">I have my custom GeUserArea in a CustomGui parameter.<br />
I want to click that User Area and launch the Color Picker modal dialog as happens with ColorField dialog parameter or COLOR description parameter.</p>
<p dir="auto">Can I do that ?</p>
<p dir="auto">Thank you.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10940/14400_launch-color-picker-dialog</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10940/14400_launch-color-picker-dialog</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 11:00:16 GMT</pubDate></item><item><title><![CDATA[Dialog size]]></title><description><![CDATA[<p dir="auto"><em>On 28/08/2018 at 01:33, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R18 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hello.</p>
<p dir="auto">I have a resizable dialog and I need to know its width and height. <br />
Is there a way to do it in Message method listening to BFM_SIZED ?<br />
In general, how else can I know its size ?</p>
<p dir="auto">Thank you.<br />
Petros.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10937/14397_dialog-size</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10937/14397_dialog-size</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:59:32 GMT</pubDate></item><item><title><![CDATA[Determine UV island connectivity?]]></title><description><![CDATA[<p dir="auto"><em>On 23/08/2018 at 01:42, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   17 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi!<br />
For one of my plugins, I need to know the connectivity of the UVs of a polygon object.</p>
<p dir="auto">I know how to get UV coordinates from the UVW tag. As far as I can tell, however, this is just given in a "polygon soup" format, with no connectivity information. (Which makes sense, since the UV topology/connectivity may differ from the mesh topology, i.e., there may be UV seams.)</p>
<p dir="auto">When two polygons share a vertex, I would like to determine if they also share the same UV vertex. My idea for determining this is to look at the UV coordinates of the two "polyvertices" and determine if their UV coordinates are the same (within some tolerance). Before I implement this, I just wanted to check if there are any built in functions for this, perhaps something similar to the neighbor class, but for UVs?</p>
<p dir="auto">/Filip</p>
]]></description><link>http://developers.maxon.net/forum/topic/10927/14383_determine-uv-island-connectivity</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10927/14383_determine-uv-island-connectivity</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:58:04 GMT</pubDate></item><item><title><![CDATA[How to change the reflection layer?]]></title><description><![CDATA[<p dir="auto"><em>On 18/08/2018 at 00:06, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:      <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
i need to change the modes(including Add and Normal)at the right side of reflection layer name. could anyone help me to provide some example on C++code?</p>
]]></description><link>http://developers.maxon.net/forum/topic/10921/14376_how-to-change-the-reflection-layer</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10921/14376_how-to-change-the-reflection-layer</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:57:14 GMT</pubDate></item><item><title><![CDATA[LoadDocument with specific settings]]></title><description><![CDATA[<p dir="auto"><em>On 15/08/2018 at 17:13, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Is it possible to load in an OBJ file and specify the settings that would normally be set in its dialog settings?</p>
]]></description><link>http://developers.maxon.net/forum/topic/10916/14371_loaddocument-with-specific-settings</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10916/14371_loaddocument-with-specific-settings</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:56:35 GMT</pubDate></item><item><title><![CDATA[How to create physical sky on C++code?]]></title><description><![CDATA[<p dir="auto"><em>On 12/08/2018 at 18:19, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
How to create physical sky on C++code? I just have looked for a word(OSkyShader) but not working in my project. could you please give me some example about physical sky?</p>
<p dir="auto">part of my code:</p>
<p dir="auto">baseObject* PhysicalSky = baseObject::Alloc(OSkyShader);</p>
]]></description><link>http://developers.maxon.net/forum/topic/10911/14362_how-to-create-physical-sky-on-ccode</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10911/14362_how-to-create-physical-sky-on-ccode</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:55:53 GMT</pubDate></item><item><title><![CDATA[.sketch or .psds]]></title><description><![CDATA[<p dir="auto"><em>On 10/08/2018 at 09:49, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   Mac OSX  ; <br />
Language(s) :     C++  ;   PYTHON  ;</p>
<p dir="auto">---------<br />
We're trying to cut some time down on a few simple plugs we're developing, so we're looking to address the interface in tandem with the initial code dev.</p>
<p dir="auto">Are there .sketch or .psd files for C4d?</p>
<p dir="auto">I searched and didn't find anything.  Or I could have missed it.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10907/14358_sketch-or-psds</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10907/14358_sketch-or-psds</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:55:15 GMT</pubDate></item><item><title><![CDATA[How to transform these button into C++code]]></title><description><![CDATA[<p dir="auto"><em>On 09/08/2018 at 21:57, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
I am writing a plugin about controling objects are hided.And i almost finish it except for the last problem.<br />
these objects that i choosed are successed to entering the InExcludeData *List,and it just like the picture.But i found that these objects are not to be hided when rendering,and right now i find the solution to solve the problem(disable the button in the picture:  the second button from left to right on on the right side of the abject in LIGHT_EXCLUSION_LIST),But i try so much and can not disable the button on C++code, anyone know how to do it on C++code ?</p>
<p dir="auto">show me the code:</p>
<pre><code>		BaseObject\* HideLightWall = BaseObject::Alloc(Ocube);
		HideLightWall = (BaseObject\* )cube-&gt;GetClone(COPYFLAGS_NO_HIERARCHY, nullptr);
		HideLightWall-&gt;SetName(roomFbxObject-&gt;fbxName + " - hidewall");
		HideLightWall-&gt;SetAbsPos(Vector(0, 20, 0));
		HideLightWall-&gt;SetAbsRot(Vector(0, 0, 0));
		HideLightWall-&gt;SetAbsScale(Vector(1, 1, 1));
		BaseTag\* CompositingTag = HideLightWall-&gt;MakeTag(Tcompositing);
		CompositingTag-&gt;SetParameter(COMPOSITINGTAG_SEENBYTRANSPARENCY, false, DESCFLAGS_SET_0);
		CompositingTag-&gt;SetParameter(COMPOSITINGTAG_SEENBYCAMERA, false, DESCFLAGS_SET_0); 
		//CompositingTag-&gt;SetParameter(COMPOSITINGTAG_CASTSHADOW, false, DESCFLAGS_SET_0);
		BaseObject\* baseObj = doc-&gt;SearchObject(roomFbxObject-&gt;fbxName);
		HideLightWall-&gt;InsertUnder(baseObj);
		BaseContainer \*obj = light-&gt;GetDataInstance();
		InExcludeData \*List = (InExcludeData\* )obj-&gt;GetCustomDataType(LIGHT_EXCLUSION_LIST, CUSTOMDATATYPE_INEXCLUDE_LIST);
		baseObj-&gt;SetParameter(RENDERPROGRESSTYPE_GLOBALILLUMINATION,false, DESCFLAGS_SET_0);
		List-&gt;InsertObject(HideLightWall, 1);
		light-&gt;SetParameter(LIGHT_EXCLUSION_MODE, LIGHT_EXCLUSION_MODE_EXCLUDE, DESCFLAGS_SET_0);![fdd](C:/Users/Administrator/Desktop/Feige20180810123012.png)
</code></pre>
]]></description><link>http://developers.maxon.net/forum/topic/10906/14357_how-to-transform-these-button-into-ccode</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10906/14357_how-to-transform-these-button-into-ccode</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:55:11 GMT</pubDate></item><item><title><![CDATA[Stop dialog resizing horizontally]]></title><description><![CDATA[<p dir="auto"><em>On 08/08/2018 at 14:25, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ;   Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
   Is it possible to stop a dialog from being able to be resized horizontally? But still resizable vertically? I was sure there was a flag for this but can't seem to find it.</p>
<p dir="auto">I have a single UserArea in a dialog. I want it to be locked to a specific width but be able to be resized vertically. But at the moment its possible to resize the dialog horizontally leaving the UserArea sitting on the left hand side. This is an issue when docking the dialog into other managers, since the user has to manually keep dragging the splitter to make the dialog fit the user area again.</p>
<p dir="auto">The dialog is created via code, so I can't use the [SIZE] option from the resource description, which states in the docs that if you use a negative number it will be locked to that resolution. However I haven't found a way to set this flag successfully in C++.</p>
<p dir="auto">Thanks!</p>
]]></description><link>http://developers.maxon.net/forum/topic/10905/14355_stop-dialog-resizing-horizontally</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10905/14355_stop-dialog-resizing-horizontally</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:55:03 GMT</pubDate></item><item><title><![CDATA[InitRender from Execute()]]></title><description><![CDATA[<p dir="auto"><em>On 08/08/2018 at 11:07, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :</p>
<p dir="auto">---------<br />
Hello,</p>
<p dir="auto">I have a scene that has a SHADERLINK parameter, initialized with a texture. It works, I can sample, no problem.<br />
But every time I load that scene, I'm getting a INITRENDERRESULT_USERBREAK error when I call InitRender(), from my TagData::Execute().<br />
If I immediately change some parameter to trigger Execute() again, InitRender will succeed and sample as expected.</p>
<p dir="auto">From the docs I see the error has something to do with threading (Thread has been canceled).<br />
Should I init irs.vd? How? I can't find a way to get a Render* anywhere in the docs to access GetInitialVolumeData()</p>
<p dir="auto">Here's what I do, in my Execute() :</p>
<pre><code>GeData data;
node-&gt;GetParameter( parameterId, data, DESCFLAGS_GET_0 );
auto shader = static_cast&lt;BaseShader*&gt;( data.GetBaseLink() ); 
InitRenderStruct irs( doc );
irs.thread = bt;
auto error = shader-&gt;InitRender( irs );
</code></pre>
]]></description><link>http://developers.maxon.net/forum/topic/10904/14354_initrender-from-execute</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10904/14354_initrender-from-execute</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:54:40 GMT</pubDate></item><item><title><![CDATA[CommandData submenu item icon]]></title><description><![CDATA[<p dir="auto"><em>On 05/08/2018 at 13:53, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R29 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :</p>
<p dir="auto">---------<br />
Hi!</p>
<p dir="auto">Is there a way to set a custom icon to a submenu item created with CommandData::GetSubContainer() ?<br />
My menu is dynamic, so I can't have a unique plugin id for each item.</p>
<p dir="auto">Using the member doc entry as example, how to set the subid 1000 icon?</p>
<pre><code>[BaseContainer](class_base_container.html) bc;
bc.[SetString](class_base_container.html#ae460ea6b66f90a8b390239c42092f82b)(1, "Submenu Test");
bc.[SetString](class_base_container.html#ae460ea6b66f90a8b390239c42092f82b)(1000, "First Entry");
submenu.[InsData](class_base_container.html#a9d6fd251ff720503b7a11d6b99b74f62)(0, bc);
</code></pre>
]]></description><link>http://developers.maxon.net/forum/topic/10901/14351_commanddata-submenu-item-icon</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10901/14351_commanddata-submenu-item-icon</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:54:17 GMT</pubDate></item><item><title><![CDATA[How to get list of all MyPlugin instances?]]></title><description><![CDATA[<p dir="auto"><em>On 04/08/2018 at 05:32, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
At first, I thought that it's a very simple task.. My mistake.:-/</p>
<p dir="auto">What I tried to do is to create global storage and save link to plugin instance every time it's being created:<br />
<strong>&lt; &lt;&lt;Main.cpp&gt;&gt;&gt;</strong></p>
<pre><code>def PLUGIN_ID = 1234321  
class MyTagPlugin: TagData {  
...
...
MyTagPlugin::MyTagPlugin()
{  
GePrint("---MyTag constructor---");  
}
  
Bool MyTagPlugin::Init(GeListNode *node)
{
    GePrint("init...");
    pluginStorage = GetActiveDocument()-&gt;GetDataInstance()-&gt;GetContainer(PLUGIN_ID);
//    ERROR SECTION  
/*  
    index = bc.GetInt32(0,0)+1;
    pluginStorage.SetInt32(0,index);
    pluginStorage.SetLink(index, (BaseTag* )node);
*/  
}
  
Bool PluginMessage(Int32 id, void *data)
{
    if(id==C4DPL_COMMANDLINEARGS)
    {
        GePrint("Creating plugin storage");
        GetActiveDocument()-&gt;GetDataIstance()-&gt;SetContainer(PLUGIN_ID, BaseContainer());
    }
}
</code></pre>
<p dir="auto"><strong>&lt; &lt;&lt;Output&gt;&gt;&gt;</strong></p>
<pre><code>Creating plugin storage
---MyTag constructor---
init...
---MyTag constructor---
init...
</code></pre>
<p dir="auto">Why Constructor and Init functions of my plugin are fired twice when each instance of it created and twice every time when I change any parameter of MyTag?</p>
<p dir="auto">What event or function should I use instead, to catch the moment of MyTag creation?</p>
]]></description><link>http://developers.maxon.net/forum/topic/10900/14349_how-to-get-list-of-all-myplugin-instances</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10900/14349_how-to-get-list-of-all-myplugin-instances</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:54:06 GMT</pubDate></item><item><title><![CDATA[Tool icon variants]]></title><description><![CDATA[<p dir="auto"><em>On 03/08/2018 at 14:23, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi,</p>
<p dir="auto">The recommended icon size for DescriptionToolData is 32x32, but it looks very low res in the toolbar.<br />
If I double the size, it will look great on the toolbar, but gigantic besides the mouse pointer.<br />
Is there a way to register a high-res icon for the toolbar and a low-res icon for the pointer?</p>
]]></description><link>http://developers.maxon.net/forum/topic/10899/14348_tool-icon-variants</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10899/14348_tool-icon-variants</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:53:58 GMT</pubDate></item><item><title><![CDATA[Screen to World matrix]]></title><description><![CDATA[<p dir="auto"><em>On 01/08/2018 at 20:40, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi,</p>
<p dir="auto">I'm using a library that needs the Viewport to World transform matrix.</p>
<p dir="auto">I know BaseView::WS() can be used to convert such coordinate, but I can't find anywhere the Matrix used by it.</p>
<p dir="auto">BaseView::GetMg() is clearly is the Camera matrix, not Screen, and since we have also CS() and SC(), there must be a missing matrix somewhere.</p>
<p dir="auto">Thanks</p>
]]></description><link>http://developers.maxon.net/forum/topic/10896/14345_screen-to-world-matrix</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10896/14345_screen-to-world-matrix</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:53:23 GMT</pubDate></item><item><title><![CDATA[Drawing squares with openGL geometry shader]]></title><description><![CDATA[<p dir="auto"><em>On 30/07/2018 at 12:19, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R18 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hello, i'm writing a C++ objectdata plugin that needs to draw it's own representation of some particles in the viewport.</p>
<p dir="auto">I've referenced the <a href="https://github.com/PluginCafe/cinema4d_cpp_sdk/blob/master/source/object/gl_test_object.cpp" target="_blank" rel="noopener noreferrer nofollow ugc">gl_test_object.cpp</a> example file and have gotten it working with just 1px dots, but i'd love to be able to write a geometry shader for openGL that takes those input vertices and draws a box of a given size for each one.</p>
<p dir="auto">I see in the c4d_gl.h file that there seems to be support for a geometry program, but since c4d's implementation of openGL isn't well documented I can't figure out how to implement one.</p>
<p dir="auto">Any help would be much appreciated.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10892/14339_drawing-squares-with-opengl-geometry-shader</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10892/14339_drawing-squares-with-opengl-geometry-shader</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:52:49 GMT</pubDate></item><item><title><![CDATA[Rendering Thinking-Particles]]></title><description><![CDATA[<p dir="auto"><em>On 29/07/2018 at 09:16, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19.053 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;  XPRESSO  ;  PYTHON  ;</p>
<p dir="auto">---------<br />
Hello PluginCafe,</p>
<p dir="auto">I have been experimenting with Thinking Particles a lot lately. <br />
Mostly generating cloud like shapes. <br />
I know that there is the PyroCluster material etc. <br />
But I want to make my own cloud render integration, to fit the whole plugin that I am creating.</p>
<p dir="auto">I am thinking of trying to implement some kind of ray marching algorithm for the rendering.<br />
Which I know how to do, but there are some c4d related questions I have.<br />
My main concern right now is: Would that even be possible in a VideoPost Plugin? <br />
Or in some kind of other plugin? Like only a metrial for example?</p>
<p dir="auto">I have done some VideoPost plugins (and materials) a while back, but they were not as complicated as this would be.</p>
<p dir="auto">I do have a few more questions, but for now, I just want to know if it would even be possible to implement a ray marching algorithm in a VideoPost, or material, or generally in c4d.</p>
<p dir="auto">thanks in advance,<br />
Kind regards,<br />
Florian</p>
]]></description><link>http://developers.maxon.net/forum/topic/10888/14335_rendering-thinkingparticles</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10888/14335_rendering-thinkingparticles</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:52:06 GMT</pubDate></item><item><title><![CDATA[Deactivating custom tool]]></title><description><![CDATA[<p dir="auto"><em>On 25/07/2018 at 17:55, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ; Mac  ;  Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi,</p>
<p dir="auto">We use doc-&gt;SetAction( TOOL_ID ) to activate a custom tool, but what's the best method to deactivate it when we're done?</p>
<p dir="auto">I guess to load the previous one from the last tools list, but I can't find any way to access that list.</p>
<p dir="auto">Is the only way by listening to EVMSG_TOOLCHANGED to remember what was there before?</p>
]]></description><link>http://developers.maxon.net/forum/topic/10883/14326_deactivating-custom-tool</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10883/14326_deactivating-custom-tool</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:50:20 GMT</pubDate></item><item><title><![CDATA[Material Being Used]]></title><description><![CDATA[<p dir="auto"><em>On 24/07/2018 at 09:14, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R14 <br />
Platform:   Windows  ; Mac  ;  <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
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.</p>
<p dir="auto">Dan</p>
]]></description><link>http://developers.maxon.net/forum/topic/10881/14324_material-being-used</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10881/14324_material-being-used</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:50:11 GMT</pubDate></item><item><title><![CDATA[Change to tag marks owning object dirty]]></title><description><![CDATA[<p dir="auto"><em>On 23/07/2018 at 07:56, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:      <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi!</p>
<p dir="auto">Changing a parameter on my tag marks the owning object dirty -- is there a way to disable this<br />
behaviour? I don't want the host object to be recalculated because of the change in the tag.</p>
<p dir="auto">Thanks in advance,</p>
<p dir="auto">Niklas</p>
]]></description><link>http://developers.maxon.net/forum/topic/10880/14323_change-to-tag-marks-owning-object-dirty</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10880/14323_change-to-tag-marks-owning-object-dirty</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:50:06 GMT</pubDate></item><item><title><![CDATA[Grasp Icon? not showing up]]></title><description><![CDATA[<p dir="auto"><em>On 20/07/2018 at 09:34, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ; Mac  ;  <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hello, I have a series of plugins I'm making and they're nested in a couple folders.  Everything is working fine so far but I'm getting some behavior differences in pre-R18 and R19, (I'm unable to test R18 at the moment) where they display slightly different in the plugin menu drop down.</p>
<p dir="auto">This is the interface in Pre-R18;</p>
<p dir="auto"><img src="https://i.imgur.com/PGit635.png2" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">This is the interface in R19;</p>
<p dir="auto"><img src="https://i.imgur.com/9MZg8G0.png1" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">In R19 the Grasp Icon,I think that's what it's called, is gone.  It's the exact same compile between the two, so I'm not really sure where to start trying to fix it.  Any advice?</p>
<p dir="auto">Daniel</p>
]]></description><link>http://developers.maxon.net/forum/topic/10876/14319_grasp-icon-not-showing-up</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10876/14319_grasp-icon-not-showing-up</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:49:16 GMT</pubDate></item><item><title><![CDATA[Faster way to transfer weights?]]></title><description><![CDATA[<p dir="auto"><em>On 18/07/2018 at 00:42, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   18/19 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Howdy, I am a novice at C++. I have a python script that basically iterates through each point of a mesh and does SetWeight(sourceJoint.GetWeight).</p>
<p dir="auto">In my test scene, the python script runs in about 9.2 seconds. It seemed like C++ would be able to speed this up. So I whipped up this little plugin which is basically a port of the python code, and it's like...1 second faster maybe(I haven't exactly figured out how to time it and print out the results, but by counting it's about 8 seconds).</p>
<p dir="auto">Am I doing this in the best way, or is there a better way to do this? This si in my commandData plugin.</p>
<pre><code>PointObject* obj = (PointObject* )(doc-&gt;GetActiveObject());
	CAWeightTag* wt = (CAWeightTag* )(obj-&gt;GetTag(Tweights));
	if (wt)
		GePrint(wt-&gt;GetName());
  
	BaseObject* targJoint = doc-&gt;SearchObject("Joint");
	if (targJoint)
		GePrint(targJoint-&gt;GetName());
	BaseObject* sourceJoint = doc-&gt;SearchObject("mixamorig:Spine2");
	if (sourceJoint)
		GePrint(sourceJoint-&gt;GetName());
  
	//Add targJoint to the weight tag
	wt-&gt;AddJoint(targJoint);
  
	Int32 pointCount = obj-&gt;GetPointCount();
	Int32 sourceID = wt-&gt;FindJoint(sourceJoint, doc);
	Int32 targID = wt-&gt;FindJoint(targJoint, doc);
  
	for (int x = 0; x &lt; pointCount; x = x + 1) {
  
		wt-&gt;SetWeight(targID, x, wt-&gt;GetWeight(sourceID, x));
		wt-&gt;WeightDirty();
		wt-&gt;SetWeight(sourceID, x, 0.0);
		wt-&gt;WeightDirty();
	}
  
	GePrint("Done Mofo");
	//wt-&gt;TransferWeightMap(doc, wt, sindex, dindex, 0, NOTOK, nullptr);
  
	EventAdd();
</code></pre>
<p dir="auto">Forgive the dumb mistakes, I am very very new and pretty stoked I managed to get this far.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10872/14315_faster-way-to-transfer-weights</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10872/14315_faster-way-to-transfer-weights</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:48:21 GMT</pubDate></item><item><title><![CDATA[[SOLVED] Dynamic Dropdown List]]></title><description><![CDATA[<p dir="auto"><em>On 09/07/2018 at 21:02, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R18 <br />
Platform:   Windows  ;   <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi all,</p>
<p dir="auto">I want to have a drop down list that I can change on the fly with user data. The list is a list of image extensions and I would like to allow users to put in there own custom extensions and then add this to this list.</p>
<p dir="auto"><img src="http://code.thatnwp.com/sharex/NVIDIA%20Share_2018-07-09_21-57-25.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">The user clicks on custom, enters a custom extension and this is saved to a user configuration file (I have everything up to this point working fine). Where I'm stuck is how I can populate this list with the saved data so that the user can see their custom extensions each time they open a file.</p>
<p dir="auto">You can see the code if that makes anything clearer on my GitHub page for the project, the files of interest here are SMDLoader.cpp/.h and fsmdloader.res</p>
<p dir="auto"><a href="http://github.com/xNWP/Cinema-4D-Source-Tools" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xNWP/Cinema-4D-Source-Tools</a></p>
<p dir="auto">Thank you in advanced to anyone who can help point me in the right direction !!</p>
]]></description><link>http://developers.maxon.net/forum/topic/10865/14307_solved-dynamic-dropdown-list</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10865/14307_solved-dynamic-dropdown-list</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:46:51 GMT</pubDate></item><item><title><![CDATA[detect key release]]></title><description><![CDATA[<p dir="auto"><em>On 05/07/2018 at 21:59, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   R19 <br />
Platform:   Windows  ;   Mac OSX  ; <br />
Language(s) :     C++  ;   PYTHON  ;</p>
<p dir="auto">---------<br />
Hello,</p>
<p dir="auto">In continuation to the shortcut-key topic and the sticky-key bug, I was looking for a way to detect a key release.<br />
Let's say I have a SceneHook, in its KeyboardInput I can detect a key being pressed.<br />
This method is being called when the user presses a key, or when the key is kept pressed down.<br />
Is there any way to detect the key being released?</p>
<p dir="auto">Note, we're in a SceneHook, performing a while loop to check for the release of the key is thus not an option. Moving all the logic into a ToolData is not an option either.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10861/14302_detect-key-release</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10861/14302_detect-key-release</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:46:19 GMT</pubDate></item><item><title><![CDATA[RLM license example code]]></title><description><![CDATA[<p dir="auto"><em>On 04/07/2018 at 05:00, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">User Information:<br />
Cinema 4D Version:   19 <br />
Platform:   Windows  ;   Mac OSX  ; <br />
Language(s) :     C++  ;</p>
<p dir="auto">---------<br />
Hi, is there any sample code available how to handle RLM licenses via SNHookClass? Thanks.</p>
]]></description><link>http://developers.maxon.net/forum/topic/10858/14299_rlm-license-example-code</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10858/14299_rlm-license-example-code</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:45:47 GMT</pubDate></item><item><title><![CDATA[ShaderData preview is washed out in Material UI]]></title><description><![CDATA[<p dir="auto"><em>On 02/07/2018 at 03:48, <strong>xxxxxxxx</strong> wrote:</em></p>
<p dir="auto">Hi Peterakos, thanks for writing us.</p>
<p dir="auto">With reference to your question, and following a support email received on beginning May this year, I warmly invite to check if transforming from sRGB to linear already takes place if <a href="https://developers.maxon.net/docs/cpp/2023_2/class_base_shader.html#a2fa090e48dc0f668f61e384b10776481" target="_blank" rel="noopener noreferrer nofollow ugc">BaseShader::IsColorManagementOff()</a> returns true.</p>
<p dir="auto">I also remind you that, for your comfort, you can use <a href="https://developers.maxon.net/docs/cpp/2023_2/c4d__shader_8h.html#acdd0371a120d3bb582244c6ada608e6b" target="_blank" rel="noopener noreferrer nofollow ugc">TransformColor</a> to transform your data from one colorspace to another.</p>
<p dir="auto">Best, Riccardo</p>
]]></description><link>http://developers.maxon.net/forum/topic/10849/14289_shaderdata-preview-is-washed-out-in-material-ui</link><guid isPermaLink="true">http://developers.maxon.net/forum/topic/10849/14289_shaderdata-preview-is-washed-out-in-material-ui</guid><dc:creator><![CDATA[Helper]]></dc:creator><pubDate>Sat, 01 Sep 2018 10:43:43 GMT</pubDate></item></channel></rss>