Here you will find documentation on all the descriptions that Cinema 4D currently has. You can list them Alphabetically, by Type or Plugin . The sample Python and C++ code is automatically generated and in some cases may not be 100% correct. If something doesn't work then please refer to the official Cinema 4D SDK documentation for more information.

IDs and information for Mxpgas

Mxpgas

Attributes

  • ENGLISH NAME : X-ParticlesGaseousMaterial
  • NAME : Mxpgas
  • INCLUDE : Mpreview
  • INCLUDE : Mbase
  • INCLUDE : Massign
  • PATH : res/description/mxpgas.res
  • PLUGIN : X-Particles
  • MAXON online help (may not exist): MXPGAS

Elements

ID UI Name Type Parameters Cycle
ID_XVOLGAS_SMOKE_MAT_GROUP Smoke BOOL
HIDDEN
PAGE
PARENTMSG ID_XVOLGAS_SMOKE_GROUP
ID_XVOLGAS_FIRE_MAT_GROUP Fire BOOL
HIDDEN
PAGE
PARENTMSG ID_XVOLGAS_FIRE_GROUP
ID_XVOLGAS_STEP Step REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
HIDDEN
ID_XVOLGAS_SHADOW_STEP ShadowStep REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
CUSTOMGUI REALSLIDER
HIDDEN
ID_XVOLGAS_VOXELS VoxelMode LONG  
ID_XVOLGAS_VOXELS_FAST Fast
ID_XVOLGAS_VOXELS_SMOOTHED Smoothed
ID_XVOLGAS_VOXELS_CUSTOM Custom
ID_XVOLGAS_SMOOTHING Smoothing REAL
UNIT PERCENT
MIN 0.0
MAX 400.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_AUTOSIZE AutoVoxelSize BOOL  
ID_XVOLGAS_VOXELSIZE VoxelSize REAL
UNIT METER
MIN 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_CHANNEL SmokeFrom LONG  
ID_XVOLGAS_CHANNEL_NONE None
ID_XVOLGAS_CHANNEL_TEMP Temperature
ID_XVOLGAS_CHANNEL_SMOKE Smoke
ID_XVOLGAS_CHANNEL_FIRE Fire
ID_XVOLGAS_CHANNEL_FUEL Fuel
ID_XVOLGAS_SMOKE_MIN SmokeMin REAL  
ID_XVOLGAS_SMOKE_MAX SmokeMax REAL  
ID_XVOLGAS_SMOKE_COLOR Color GRADIENT
COLOR
ICC_BASEDOCUMENT
ID_XVOLGAS_SMOKE_TRANS Transparency GRADIENT ALPHA
ID_XVOLGAS_SMOKE_SHADER Texture SHADERLINK  
ID_XVOLGAS_SMOKE_ILLUM Illumination LONG  
ID_XVOLGAS_SMOKE_ILLUM_ISO Isotropic
ID_XVOLGAS_SMOKE_ILLUM_HG Henyey-Greenstein
ID_XVOLGAS_SMOKE_ILLUM_DBLHG DoubleHenyey-Greenstein
ID_XVOLGAS_SMOKE_ILLUM_SCH Schlick
ID_XVOLGAS_SMOKE_ILLUM_RAYL Rayleigh
ID_XVOLGAS_SMOKE_ECCENTRICITY Anisotropy REAL
UNIT PERCENT
MIN -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_BACKSCATTER BackScattering REAL
UNIT PERCENT
MIN -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_OPACITY Opacity REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_LUMINANCE Brightness REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_CONTRAST Contrast REAL
UNIT PERCENT
MINSLIDER -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_GAMMA Gamma REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_CASTSHADOW CastShadow REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_SMOKE_RECSHADOW ReceiveShadow REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
XVOLGAS_HELP_BUTTON_SMOKE BITMAPBUTTON  
XVOLGAS_VIDMAN_BUTTON_SMOKE BITMAPBUTTON  
XVOLGAS_RESET_SMOKE ResettoDefaults BUTTON  
XVOLGAS_SAVE_PRESET SavePreset... BUTTON  
XVOLGAS_LOAD_PRESET LoadPreset... BUTTON  
ID_XVOLGAS_FIRE_CHANNEL FireFrom LONG  
ID_XVOLGAS_CHANNEL_NONE None
ID_XVOLGAS_CHANNEL_TEMP Temperature
ID_XVOLGAS_CHANNEL_SMOKE Smoke
ID_XVOLGAS_CHANNEL_FIRE Fire
ID_XVOLGAS_CHANNEL_FUEL Fuel
ID_XVOLGAS_FIRE_MIN FireMin REAL  
ID_XVOLGAS_FIRE_MAX FireMax REAL  
ID_XVOLGAS_FIRE_TEMP_CHANNEL TempFrom LONG  
ID_XVOLGAS_CHANNEL_NONE None
ID_XVOLGAS_CHANNEL_TEMP Temperature
ID_XVOLGAS_CHANNEL_SMOKE Smoke
ID_XVOLGAS_CHANNEL_FIRE Fire
ID_XVOLGAS_CHANNEL_FUEL Fuel
ID_XVOLGAS_CHANNEL_ASFIRE AsFire
ID_XVOLGAS_TEMP_MIN TempMin REAL  
ID_XVOLGAS_TEMP_MAX TempMax REAL  
ID_XVOLGAS_FIRE_BLACKBODY BlackBody BOOL  
ID_XVOLGAS_FIRE_BLACKBODY_PREVIEW Color BITMAPBUTTON
BORDER
FIT_H
PARENTCOLLAPSE
ID_XVOLGAS_FIRE_BLACKBODY_MAP Mapping LONG PARENTCOLLAPSE
ID_XVOLGAS_FIRE_BLACKBODY_MAP_NTSC NTSC
ID_XVOLGAS_FIRE_BLACKBODY_MAP_PAL PAL
ID_XVOLGAS_FIRE_BLACKBODY_MAP_SMPTE SMPTE
ID_XVOLGAS_FIRE_BLACKBODY_MAP_HDTV HDTV
ID_XVOLGAS_FIRE_BLACKBODY_MAP_CIE CIE
ID_XVOLGAS_FIRE_BLACKBODY_MAP_CIEREC CIEREC790
ID_XVOLGAS_TEMP_MAP_MIN TempMapMin REAL  
ID_XVOLGAS_TEMP_MAP_MAX TempMapMax REAL  
ID_XVOLGAS_FIRE_POWER Power REAL
MIN 1.0
MAXSLIDER 6.0
STEP 0.1
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_WHITEPOINT WhitePoint REAL
MIN 0.0
MAXSLIDER 10000.0
STEP 0.1
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_COLOR Color GRADIENT
COLOR
ICC_BASEDOCUMENT
ID_XVOLGAS_FIRE_TRANS Transparency GRADIENT ALPHA
ID_XVOLGAS_FIRE_SHADER Texture SHADERLINK  
ID_XVOLGAS_FIRE_OPACITY Opacity REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_LUMINANCE Luminance REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_CONTRAST Contrast REAL
UNIT PERCENT
MINSLIDER -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_GAMMA Gamma REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_R Red REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_G Green REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_B Blue REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
ID_XVOLGAS_FIRE_SHADOW CastShadow REAL
UNIT PERCENT
MIN 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XVOLGAS_HELP_BUTTON_FIRE BITMAPBUTTON  
XVOLGAS_VIDMAN_BUTTON_FIRE BITMAPBUTTON  
XVOLGAS_RESET_FIRE ResettoDefaults BUTTON  

Example Code

The following code does not use the correct values when setting the data. You should check directly in C4D for the correct values that you should use in place of the ones that are shown. This code is just to show you how to access the values for getting and setting the parameters.

Python

import c4d
from c4d import gui
def main():
    material = c4d.BaseMaterial(c4d.Mxpgas)
    
    #You can set parameters two different ways. 
    #First way              
    material[c4d.ID_XVOLGAS_SMOKE_MAT_GROUP] = True
    material[c4d.ID_XVOLGAS_FIRE_MAT_GROUP] = True
    material[c4d.ID_XVOLGAS_STEP] = 0.1
    material[c4d.ID_XVOLGAS_SHADOW_STEP] = 0.1
    material[c4d.ID_XVOLGAS_VOXELS] = c4d.ID_XVOLGAS_VOXELS_FAST
    material[c4d.ID_XVOLGAS_SMOOTHING] = 0.1
    material[c4d.ID_XVOLGAS_AUTOSIZE] = True
    material[c4d.ID_XVOLGAS_VOXELSIZE] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_CHANNEL] = c4d.ID_XVOLGAS_CHANNEL_NONE
    material[c4d.ID_XVOLGAS_SMOKE_MIN] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_MAX] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_ILLUM] = c4d.ID_XVOLGAS_SMOKE_ILLUM_ISO
    material[c4d.ID_XVOLGAS_SMOKE_ECCENTRICITY] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_BACKSCATTER] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_OPACITY] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_LUMINANCE] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_CONTRAST] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_GAMMA] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_CASTSHADOW] = 0.1
    material[c4d.ID_XVOLGAS_SMOKE_RECSHADOW] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_CHANNEL] = c4d.ID_XVOLGAS_CHANNEL_NONE
    material[c4d.ID_XVOLGAS_FIRE_MIN] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_MAX] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_TEMP_CHANNEL] = c4d.ID_XVOLGAS_CHANNEL_NONE
    material[c4d.ID_XVOLGAS_TEMP_MIN] = 0.1
    material[c4d.ID_XVOLGAS_TEMP_MAX] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_BLACKBODY] = True
    material[c4d.ID_XVOLGAS_FIRE_BLACKBODY_MAP] = c4d.ID_XVOLGAS_FIRE_BLACKBODY_MAP_NTSC
    material[c4d.ID_XVOLGAS_TEMP_MAP_MIN] = 0.1
    material[c4d.ID_XVOLGAS_TEMP_MAP_MAX] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_POWER] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_WHITEPOINT] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_OPACITY] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_LUMINANCE] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_CONTRAST] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_GAMMA] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_R] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_G] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_B] = 0.1
    material[c4d.ID_XVOLGAS_FIRE_SHADOW] = 0.1
    
    #Second way, using the base container.
    bc = material.GetDataInstance()
    bc.SetBool(c4d.ID_XVOLGAS_SMOKE_MAT_GROUP,True)
    bc.SetBool(c4d.ID_XVOLGAS_FIRE_MAT_GROUP,True)
    bc.SetFloat(c4d.ID_XVOLGAS_STEP,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SHADOW_STEP,0.1)
    bc.SetInt32(c4d.ID_XVOLGAS_VOXELS,c4d.ID_XVOLGAS_VOXELS_FAST)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOOTHING,0.1)
    bc.SetBool(c4d.ID_XVOLGAS_AUTOSIZE,True)
    bc.SetFloat(c4d.ID_XVOLGAS_VOXELSIZE,0.1)
    bc.SetInt32(c4d.ID_XVOLGAS_SMOKE_CHANNEL,c4d.ID_XVOLGAS_CHANNEL_NONE)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_MIN,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_MAX,0.1)
    bc.SetInt32(c4d.ID_XVOLGAS_SMOKE_ILLUM,c4d.ID_XVOLGAS_SMOKE_ILLUM_ISO)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_ECCENTRICITY,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_BACKSCATTER,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_OPACITY,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_LUMINANCE,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_CONTRAST,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_GAMMA,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_CASTSHADOW,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_SMOKE_RECSHADOW,0.1)
    bc.SetInt32(c4d.ID_XVOLGAS_FIRE_CHANNEL,c4d.ID_XVOLGAS_CHANNEL_NONE)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_MIN,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_MAX,0.1)
    bc.SetInt32(c4d.ID_XVOLGAS_FIRE_TEMP_CHANNEL,c4d.ID_XVOLGAS_CHANNEL_NONE)
    bc.SetFloat(c4d.ID_XVOLGAS_TEMP_MIN,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_TEMP_MAX,0.1)
    bc.SetBool(c4d.ID_XVOLGAS_FIRE_BLACKBODY,True)
    bc.SetInt32(c4d.ID_XVOLGAS_FIRE_BLACKBODY_MAP,c4d.ID_XVOLGAS_FIRE_BLACKBODY_MAP_NTSC)
    bc.SetFloat(c4d.ID_XVOLGAS_TEMP_MAP_MIN,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_TEMP_MAP_MAX,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_POWER,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_WHITEPOINT,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_OPACITY,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_LUMINANCE,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_CONTRAST,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_GAMMA,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_R,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_G,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_B,0.1)
    bc.SetFloat(c4d.ID_XVOLGAS_FIRE_SHADOW,0.1)

if __name__=='__main__':
    main()
             

C++

#include "c4d.h"
#include "../res/description/mxpgas.h"
void SampleFunction()
{
    BaseDocument *pDoc = GetActiveDocument();
    BaseMaterial *pMaterial = BaseMaterial::Alloc(Mxpgas);  
    
    //You can set parameters two different ways. 

    //First way              
    //Some objects do not store all their data in the container. You need to use GetParameter()/SetParameter() instead. 

    DESCFLAGS_SET flags = DESCFLAGS_SET_PARAM_SET;
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_MAT_GROUP),GeData(true),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_MAT_GROUP),GeData(true),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_STEP),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SHADOW_STEP),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_VOXELS),GeData(ID_XVOLGAS_VOXELS_FAST),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOOTHING),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_AUTOSIZE),GeData(true),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_VOXELSIZE),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_CHANNEL),GeData(ID_XVOLGAS_CHANNEL_NONE),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_MIN),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_MAX),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_ILLUM),GeData(ID_XVOLGAS_SMOKE_ILLUM_ISO),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_ECCENTRICITY),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_BACKSCATTER),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_OPACITY),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_LUMINANCE),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_CONTRAST),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_GAMMA),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_CASTSHADOW),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_RECSHADOW),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_CHANNEL),GeData(ID_XVOLGAS_CHANNEL_NONE),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_MIN),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_MAX),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_TEMP_CHANNEL),GeData(ID_XVOLGAS_CHANNEL_NONE),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_TEMP_MIN),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_TEMP_MAX),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_BLACKBODY),GeData(true),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_BLACKBODY_MAP),GeData(ID_XVOLGAS_FIRE_BLACKBODY_MAP_NTSC),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_TEMP_MAP_MIN),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_TEMP_MAP_MAX),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_POWER),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_WHITEPOINT),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_OPACITY),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_LUMINANCE),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_CONTRAST),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_GAMMA),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_R),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_G),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_B),GeData(0.1),flags);
    pMaterial->SetParameter(DescID(ID_XVOLGAS_FIRE_SHADOW),GeData(0.1),flags);
    pMaterial->Message(MSG_UPDATE);            

    //Second way, using the base container.
    BaseContainer *bc =     pMaterial->GetDataInstance();
    bc->SetBool(ID_XVOLGAS_SMOKE_MAT_GROUP,true);
    bc->SetBool(ID_XVOLGAS_FIRE_MAT_GROUP,true);
    bc->SetFloat(ID_XVOLGAS_STEP,0.1);
    bc->SetFloat(ID_XVOLGAS_SHADOW_STEP,0.1);
    bc->SetInt32(ID_XVOLGAS_VOXELS,ID_XVOLGAS_VOXELS_FAST);
    bc->SetFloat(ID_XVOLGAS_SMOOTHING,0.1);
    bc->SetBool(ID_XVOLGAS_AUTOSIZE,true);
    bc->SetFloat(ID_XVOLGAS_VOXELSIZE,0.1);
    bc->SetInt32(ID_XVOLGAS_SMOKE_CHANNEL,ID_XVOLGAS_CHANNEL_NONE);
    bc->SetFloat(ID_XVOLGAS_SMOKE_MIN,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_MAX,0.1);
    bc->SetInt32(ID_XVOLGAS_SMOKE_ILLUM,ID_XVOLGAS_SMOKE_ILLUM_ISO);
    bc->SetFloat(ID_XVOLGAS_SMOKE_ECCENTRICITY,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_BACKSCATTER,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_OPACITY,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_LUMINANCE,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_CONTRAST,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_GAMMA,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_CASTSHADOW,0.1);
    bc->SetFloat(ID_XVOLGAS_SMOKE_RECSHADOW,0.1);
    bc->SetInt32(ID_XVOLGAS_FIRE_CHANNEL,ID_XVOLGAS_CHANNEL_NONE);
    bc->SetFloat(ID_XVOLGAS_FIRE_MIN,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_MAX,0.1);
    bc->SetInt32(ID_XVOLGAS_FIRE_TEMP_CHANNEL,ID_XVOLGAS_CHANNEL_NONE);
    bc->SetFloat(ID_XVOLGAS_TEMP_MIN,0.1);
    bc->SetFloat(ID_XVOLGAS_TEMP_MAX,0.1);
    bc->SetBool(ID_XVOLGAS_FIRE_BLACKBODY,true);
    bc->SetInt32(ID_XVOLGAS_FIRE_BLACKBODY_MAP,ID_XVOLGAS_FIRE_BLACKBODY_MAP_NTSC);
    bc->SetFloat(ID_XVOLGAS_TEMP_MAP_MIN,0.1);
    bc->SetFloat(ID_XVOLGAS_TEMP_MAP_MAX,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_POWER,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_WHITEPOINT,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_OPACITY,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_LUMINANCE,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_CONTRAST,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_GAMMA,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_R,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_G,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_B,0.1);
    bc->SetFloat(ID_XVOLGAS_FIRE_SHADOW,0.1);
    pMaterial->Message(MSG_UPDATE);                                                      
}
             

Buttons

This node has buttons. Buttons can manually be executed by calling the following code

Python

c4d.CallButton(material,c4d.XVOLGAS_HELP_BUTTON_SMOKE)
c4d.CallButton(material,c4d.XVOLGAS_VIDMAN_BUTTON_SMOKE)
c4d.CallButton(material,c4d.XVOLGAS_RESET_SMOKE)
c4d.CallButton(material,c4d.XVOLGAS_SAVE_PRESET)
c4d.CallButton(material,c4d.XVOLGAS_LOAD_PRESET)
c4d.CallButton(material,c4d.ID_XVOLGAS_FIRE_BLACKBODY_PREVIEW)
c4d.CallButton(material,c4d.XVOLGAS_HELP_BUTTON_FIRE)
c4d.CallButton(material,c4d.XVOLGAS_VIDMAN_BUTTON_FIRE)
c4d.CallButton(material,c4d.XVOLGAS_RESET_FIRE)

C++

DescriptionCommand dc;
dc.id = DescID(XVOLGAS_HELP_BUTTON_SMOKE);             
pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);

DescriptionCommand dc; dc.id = DescID(XVOLGAS_VIDMAN_BUTTON_SMOKE); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_RESET_SMOKE); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_SAVE_PRESET); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_LOAD_PRESET); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(ID_XVOLGAS_FIRE_BLACKBODY_PREVIEW); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_HELP_BUTTON_FIRE); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_VIDMAN_BUTTON_FIRE); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XVOLGAS_RESET_FIRE); pMaterial->Message(MSG_DESCRIPTION_COMMAND, &dc);

Gradients

This node has gradients. Gradients can manually be edited by calling the following code

Python


C++

           
#include "customgui_gradient.h"
ID_XVOLGAS_SMOKE_COLOR
GeData data; pMaterial->GetParameter(DescID(ID_XVOLGAS_SMOKE_COLOR),data,DESCFLAGS_GET_PARAM_GET)); Gradient *pGradient = (Gradient*)data.GetCustomDataType(CUSTOMDATATYPE_GRADIENT); if(pGradient) { //must be set before any knot is set pGradient->SetData(GRADIENT_MODE, GeData(GRADIENTMODE_ALPHA)); GradientKnot k1, k2; k1.col = Vector(0.0, 0.0, 1.0); k1.pos = 0.0; k2.col = 1.0; k2.pos = 1.0; pGradient->InsertKnot(k1); pGradient->InsertKnot(k2); } pMaterial->SetParameter(DescID(ID_XVOLGAS_SMOKE_COLOR),data,DESCFLAGS_SET_PARAM_SET));
ID_XVOLGAS_SMOKE_TRANS
pMaterial->GetParameter(DescID(ID_XVOLGAS_SMOKE_TRANS),data,DESCFLAGS_GET_PARAM_GET));
ID_XVOLGAS_FIRE_COLOR
pMaterial->GetParameter(DescID(ID_XVOLGAS_FIRE_COLOR),data,DESCFLAGS_GET_PARAM_GET));
ID_XVOLGAS_FIRE_TRANS
pMaterial->GetParameter(DescID(ID_XVOLGAS_FIRE_TRANS),data,DESCFLAGS_GET_PARAM_GET));