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 Omcover

Omcover

Attributes

  • ENGLISH NAME : X-ParticlesCover/TargetModifier
  • NAME : Omcover
  • INCLUDE : Obase
  • PATH : res/description/omcover.res
  • PLUGIN : X-Particles
  • MAXON online help (may not exist): OMCOVER

Elements

ID UI Name Type Parameters Cycle
XMCO_COVER_ENABLED Enabled BOOL  
XMCO_COVER_MODE Mode LONG  
COVER_MODE_INDEP Independent
COVER_MODE_ACTION Action-Controlled
XMCO_COVER_OBJECT TargetObject LINK  
XMCO_COVER_TYPE ModifierType LONG ANIM
COVERTYPE_COVER Cover/Fill
COVERTYPE_TARGET Target
XMCO_COVER_OPERATION Operation LONG ANIM
COVEROP_MODE_ALL AllPolygons
COVEROP_MODE_SNORM VisiblePolygons(UsingNormals)
COVEROP_MODE_SRAY VisiblePolygons(UsingRays)
COVEROP_MODE_POINTS ObjectVertices(Random)
COVEROP_MODE_SEQ ObjectVertices(Ordered)
COVEROP_MODE_SEQRAN ObjectVertices(Ordered,Random)
COVEROP_MODE_FILL ObjectVolume
COVEROP_MODE_TEXTURE Texture
XMCO_COVER_SELTAG Selection LINK ANIM
XMCO_COVER_TEXTAG TextureTag LINK  
XMCO_COVER_TEXTURE_CHANNEL Channel LONG  
XMCO_SOURCE_CHANNEL_COLOR Color
XMCO_SOURCE_CHANNEL_LUMINANCE Luminance
XMCO_SOURCE_CHANNEL_TRANSPARENCY Transparency
XMCO_SOURCE_CHANNEL_REFLECTION Reflection
XMCO_SOURCE_CHANNEL_BUMP Bump
XMCO_SOURCE_CHANNEL_ALPHA Alpha
XMCO_SOURCE_CHANNEL_DISP Displacement
XMCO_SOURCE_CHANNEL_DIFFUSION Diffusion
XMCO_COVER_TEXTURE Shader SHADERLINK  
XMCO_COVER_TEXTURE_THRESHOLD Threshold COLOR  
XMCO_COVER_TEXTURE_MODE Mode LONG  
XMCO_TEXTURE_MODE_HIGHER TextureColor>=Threshold
XMCO_TEXTURE_MODE_LOWER TextureColor<=Threshold
XMCO_COVER_TEXTURE_SPECIFICCOL UseSpecificColors BOOL  
XMCO_COVER_TEXTURE_BLENDCOL BlendColor BOOL  
XMCO_COVER_TARGETOP TargetEffect LONG  
TARGETOP_ATTRACT Attract
TARGETOP_REPEL Repel
XMCO_COVER_STRENGTH AcutenessofTurn REAL
UNIT PERCENT
MIN 0.0
MAX 10000.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_SPEED_MODE SpeedMode LONG  
SPEEDMODE_PARTICLE UseParticleSpeed
SPEEDMODE_SET SetTimetoReachTarget
SPEEDMODE_GRAVITY Gravity
XMCO_COVER_SPEED_FRAMES Time BASETIME  
XMCO_COVER_SPEED_FRAMES_VAR Variation BASETIME  
XMCO_COVER_GRAVITY GravityStrength REAL
UNIT METER
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_TRIES MaximumHitAttempts LONG
MIN 1
STEP 1
MINSLIDER 1
MAXSLIDER 500
CUSTOMGUI LONGSLIDER
XMCO_COVER_KILL_NOTARGET KillParticlesWithoutTarget BOOL  
XMCO_COVER_DOBRAKE UseBraking BOOL  
XMCO_COVER_BRAKEDIST BrakeDistance REAL
UNIT METER
STEP 1.0
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_BRAKEFACTOR BrakeStrength REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_BRAKEMINSPEED Min.Speed REAL
UNIT METER
STEP 1.0
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_DOALIGN AligntoNormal BOOL  
XMCO_COVER_ALIGNDIST AlignDistance REAL
UNIT METER
STEP 1.0
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_ALIGNFACTOR AlignStrength REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_FILLOFFSET FillOffset REAL
UNIT METER
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_TOLERANCE Tolerance REAL
UNIT METER
STEP 0.1
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_OFFSET StickPointOffset REAL
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_OFFSET_VAR Variation REAL
UNIT METER
MINSLIDER -100.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_ACTIONRANGE Range REAL
UNIT METER
MIN 0.0
MINSLIDER 0.0
MAXSLIDER 100.0
CUSTOMGUI REALSLIDER
XMCO_COVER_ACTIONREPEAT RepeatActions LONG  
COVERACTIONREPEAT_OFF NoRepeat
COVERACTIONREPEAT_ON Repeat
XMCO_COVER_ACTIONLIST Actions IN_EXCLUDE NUM_FLAGS
XMCO_COVER_ADDACTION AddAction BUTTON  
XMCO_COVER_GROUP Groups IN_EXCLUDE
NUM_FLAGS 2
INIT_STATE 3
SEND_SELCHNGMSG 1
SCALE_V
IMAGE_01_ON 1009316
IMAGE_01_OFF 1009320
IMAGE_02_ON 300000231
IMAGE_02_OFF 300000230

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():
    obj = c4d.BaseObject(c4d.Omcover)
    doc.InsertObject(obj)
    c4d.EventAdd(c4d.EVENT_FORCEREDRAW)
    
    #You can set parameters two different ways. 
    #First way              
    obj[c4d.XMCO_COVER_ENABLED] = True
    obj[c4d.XMCO_COVER_MODE] = c4d.COVER_MODE_INDEP
    obj[c4d.XMCO_COVER_TYPE] = c4d.COVERTYPE_COVER
    obj[c4d.XMCO_COVER_OPERATION] = c4d.COVEROP_MODE_ALL
    obj[c4d.XMCO_COVER_TEXTURE_CHANNEL] = c4d.XMCO_SOURCE_CHANNEL_COLOR
    obj[c4d.XMCO_COVER_TEXTURE_MODE] = c4d.XMCO_TEXTURE_MODE_HIGHER
    obj[c4d.XMCO_COVER_TEXTURE_SPECIFICCOL] = True
    obj[c4d.XMCO_COVER_TEXTURE_BLENDCOL] = True
    obj[c4d.XMCO_COVER_TARGETOP] = c4d.TARGETOP_ATTRACT
    obj[c4d.XMCO_COVER_STRENGTH] = 0.1
    obj[c4d.XMCO_COVER_SPEED_MODE] = c4d.SPEEDMODE_PARTICLE
    obj[c4d.XMCO_COVER_GRAVITY] = 0.1
    obj[c4d.XMCO_COVER_TRIES] = 1
    obj[c4d.XMCO_COVER_KILL_NOTARGET] = True
    obj[c4d.XMCO_COVER_DOBRAKE] = True
    obj[c4d.XMCO_COVER_BRAKEDIST] = 0.1
    obj[c4d.XMCO_COVER_BRAKEFACTOR] = 0.1
    obj[c4d.XMCO_COVER_BRAKEMINSPEED] = 0.1
    obj[c4d.XMCO_COVER_DOALIGN] = True
    obj[c4d.XMCO_COVER_ALIGNDIST] = 0.1
    obj[c4d.XMCO_COVER_ALIGNFACTOR] = 0.1
    obj[c4d.XMCO_COVER_FILLOFFSET] = 0.1
    obj[c4d.XMCO_COVER_TOLERANCE] = 0.1
    obj[c4d.XMCO_COVER_OFFSET] = 0.1
    obj[c4d.XMCO_COVER_OFFSET_VAR] = 0.1
    obj[c4d.XMCO_COVER_ACTIONRANGE] = 0.1
    obj[c4d.XMCO_COVER_ACTIONREPEAT] = c4d.COVERACTIONREPEAT_OFF
    
    #Second way, using the base container.
    bc = obj.GetDataInstance()
    bc.SetBool(c4d.XMCO_COVER_ENABLED,True)
    bc.SetInt32(c4d.XMCO_COVER_MODE,c4d.COVER_MODE_INDEP)
    bc.SetInt32(c4d.XMCO_COVER_TYPE,c4d.COVERTYPE_COVER)
    bc.SetInt32(c4d.XMCO_COVER_OPERATION,c4d.COVEROP_MODE_ALL)
    bc.SetInt32(c4d.XMCO_COVER_TEXTURE_CHANNEL,c4d.XMCO_SOURCE_CHANNEL_COLOR)
    bc.SetInt32(c4d.XMCO_COVER_TEXTURE_MODE,c4d.XMCO_TEXTURE_MODE_HIGHER)
    bc.SetBool(c4d.XMCO_COVER_TEXTURE_SPECIFICCOL,True)
    bc.SetBool(c4d.XMCO_COVER_TEXTURE_BLENDCOL,True)
    bc.SetInt32(c4d.XMCO_COVER_TARGETOP,c4d.TARGETOP_ATTRACT)
    bc.SetFloat(c4d.XMCO_COVER_STRENGTH,0.1)
    bc.SetInt32(c4d.XMCO_COVER_SPEED_MODE,c4d.SPEEDMODE_PARTICLE)
    bc.SetFloat(c4d.XMCO_COVER_GRAVITY,0.1)
    bc.SetInt32(c4d.XMCO_COVER_TRIES,1)
    bc.SetBool(c4d.XMCO_COVER_KILL_NOTARGET,True)
    bc.SetBool(c4d.XMCO_COVER_DOBRAKE,True)
    bc.SetFloat(c4d.XMCO_COVER_BRAKEDIST,0.1)
    bc.SetFloat(c4d.XMCO_COVER_BRAKEFACTOR,0.1)
    bc.SetFloat(c4d.XMCO_COVER_BRAKEMINSPEED,0.1)
    bc.SetBool(c4d.XMCO_COVER_DOALIGN,True)
    bc.SetFloat(c4d.XMCO_COVER_ALIGNDIST,0.1)
    bc.SetFloat(c4d.XMCO_COVER_ALIGNFACTOR,0.1)
    bc.SetFloat(c4d.XMCO_COVER_FILLOFFSET,0.1)
    bc.SetFloat(c4d.XMCO_COVER_TOLERANCE,0.1)
    bc.SetFloat(c4d.XMCO_COVER_OFFSET,0.1)
    bc.SetFloat(c4d.XMCO_COVER_OFFSET_VAR,0.1)
    bc.SetFloat(c4d.XMCO_COVER_ACTIONRANGE,0.1)
    bc.SetInt32(c4d.XMCO_COVER_ACTIONREPEAT,c4d.COVERACTIONREPEAT_OFF)

if __name__=='__main__':
    main()
             

C++

#include "c4d.h"
#include "../res/description/omcover.h"
void SampleFunction()
{
    BaseDocument *pDoc = GetActiveDocument();
    BaseObject *pObject = BaseObject::Alloc(Omcover);
    pDoc->InsertObject(pObject);
    pDoc->StartUndo();
    pDoc->AddUndo(UNDO_NEW,pObject);
    pDoc->EndUndo();
    EventAdd(EVENT_FORCEREDRAW);
    
    //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;
    pObject->SetParameter(DescID(XMCO_COVER_ENABLED),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_MODE),GeData(COVER_MODE_INDEP),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TYPE),GeData(COVERTYPE_COVER),flags);
    pObject->SetParameter(DescID(XMCO_COVER_OPERATION),GeData(COVEROP_MODE_ALL),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TEXTURE_CHANNEL),GeData(XMCO_SOURCE_CHANNEL_COLOR),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TEXTURE_MODE),GeData(XMCO_TEXTURE_MODE_HIGHER),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TEXTURE_SPECIFICCOL),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TEXTURE_BLENDCOL),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TARGETOP),GeData(TARGETOP_ATTRACT),flags);
    pObject->SetParameter(DescID(XMCO_COVER_STRENGTH),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_SPEED_MODE),GeData(SPEEDMODE_PARTICLE),flags);
    pObject->SetParameter(DescID(XMCO_COVER_GRAVITY),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TRIES),GeData(1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_KILL_NOTARGET),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_DOBRAKE),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_BRAKEDIST),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_BRAKEFACTOR),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_BRAKEMINSPEED),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_DOALIGN),GeData(true),flags);
    pObject->SetParameter(DescID(XMCO_COVER_ALIGNDIST),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_ALIGNFACTOR),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_FILLOFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_TOLERANCE),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_OFFSET),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_OFFSET_VAR),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_ACTIONRANGE),GeData(0.1),flags);
    pObject->SetParameter(DescID(XMCO_COVER_ACTIONREPEAT),GeData(COVERACTIONREPEAT_OFF),flags);
    pObject->Message(MSG_UPDATE);            

    //Second way, using the base container.
    BaseContainer *bc =     pObject->GetDataInstance();
    bc->SetBool(XMCO_COVER_ENABLED,true);
    bc->SetInt32(XMCO_COVER_MODE,COVER_MODE_INDEP);
    bc->SetInt32(XMCO_COVER_TYPE,COVERTYPE_COVER);
    bc->SetInt32(XMCO_COVER_OPERATION,COVEROP_MODE_ALL);
    bc->SetInt32(XMCO_COVER_TEXTURE_CHANNEL,XMCO_SOURCE_CHANNEL_COLOR);
    bc->SetInt32(XMCO_COVER_TEXTURE_MODE,XMCO_TEXTURE_MODE_HIGHER);
    bc->SetBool(XMCO_COVER_TEXTURE_SPECIFICCOL,true);
    bc->SetBool(XMCO_COVER_TEXTURE_BLENDCOL,true);
    bc->SetInt32(XMCO_COVER_TARGETOP,TARGETOP_ATTRACT);
    bc->SetFloat(XMCO_COVER_STRENGTH,0.1);
    bc->SetInt32(XMCO_COVER_SPEED_MODE,SPEEDMODE_PARTICLE);
    bc->SetFloat(XMCO_COVER_GRAVITY,0.1);
    bc->SetInt32(XMCO_COVER_TRIES,1);
    bc->SetBool(XMCO_COVER_KILL_NOTARGET,true);
    bc->SetBool(XMCO_COVER_DOBRAKE,true);
    bc->SetFloat(XMCO_COVER_BRAKEDIST,0.1);
    bc->SetFloat(XMCO_COVER_BRAKEFACTOR,0.1);
    bc->SetFloat(XMCO_COVER_BRAKEMINSPEED,0.1);
    bc->SetBool(XMCO_COVER_DOALIGN,true);
    bc->SetFloat(XMCO_COVER_ALIGNDIST,0.1);
    bc->SetFloat(XMCO_COVER_ALIGNFACTOR,0.1);
    bc->SetFloat(XMCO_COVER_FILLOFFSET,0.1);
    bc->SetFloat(XMCO_COVER_TOLERANCE,0.1);
    bc->SetFloat(XMCO_COVER_OFFSET,0.1);
    bc->SetFloat(XMCO_COVER_OFFSET_VAR,0.1);
    bc->SetFloat(XMCO_COVER_ACTIONRANGE,0.1);
    bc->SetInt32(XMCO_COVER_ACTIONREPEAT,COVERACTIONREPEAT_OFF);
    pObject->Message(MSG_UPDATE);                                                      
}
             

Buttons

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

Python

c4d.CallButton(obj,c4d.XMCO_COVER_ADDACTION)

C++

DescriptionCommand dc;
dc.id = DescID(XMCO_COVER_ADDACTION);             
pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);