Open Search
    cinema Namespace Reference

    Namespaces

     birender
     

    Classes

    class  AccessedObjectsCallback
     
    class  ColorProfile
     
    class  ColorProfileConvert
     
    class  BaseBitmap
     
    class  MultipassBitmap
     
    class  BaseBitmapLink
     
    class  MovieLoader
     
    class  MovieSaver
     
    class  BitmapLoaderPlugin
     
    class  BitmapSaverPlugin
     
    class  AutoBitmap
     
    class  BaseShader
     
    class  BaseChannel
     
    class  BaseContainer
     
    class  BaseData
     
    class  BaseSceneHook
     
    class  MultipassObject
     
    class  RenderData
     
    class  LayerObject
     
    struct  LayerData
     
    struct  PickSessionDataStruct
     
    class  BaseDocument
     
    class  Hierarchy
     
    class  PriorityList
     
    class  BaseDrawHelp
     
    struct  BDSetSceneCameraMsg
     
    class  HUDTextEntry
     
    struct  EditorLight
     
    class  BaseView
     
    class  BaseDraw
     
    struct  ViewportPixel
     
    class  ViewportSelect
     
    struct  MultiInstanceEntry
     
    struct  Dpoint
     
    struct  Ipoint
     
    class  MDArray
     
    class  MoData
     
    struct  GetMoDataMessage
     
    struct  GetMGSelectionMessage
     
    struct  MGWeightData
     
    struct  GetMGWeightMessage
     
    struct  EffectorDataStruct
     
    struct  MutableEffectorDataStruct
     
    struct  Effector_PassData
     
    struct  Effector_PassValueData
     
    class  EffectorData
     
    class  BaseLinkArray
     
    struct  RedirectMsgData
     
    struct  ToolTransformMsgData
     
    struct  TagModifyMsgData
     
    struct  ModifierFlagsMsgData
     
    struct  ObjectTransformMsgData
     
    struct  InvokeScriptData
     
    struct  FieldGuiGetSubListInfo
     
    struct  ToolAskMsgData
     
    struct  ToolSwitchActionMsgData
     
    struct  ToolResizeData
     
    struct  DescriptionImExportInit
     
    struct  SaveProjectStruct
     
    struct  PreSaveValidationStruct
     
    struct  ModifyFilenameDataStruct
     
    class  BaseObjectPrivateMessage
     
    struct  StringUndo
     
    struct  VariableChanged
     
    struct  DocumentImported
     
    struct  MarkMaterials
     
    struct  DescriptionInitUndo
     
    struct  DescriptionCheckUpdate
     
    struct  DescriptionValidate
     
    struct  DescriptionPostSetValue
     
    struct  RetrievePrivateData
     
    struct  MaterialDragAndDrop
     
    struct  GetRealCameraData
     
    struct  GetRealTagData
     
    struct  MultilineEditTextStoreUndo
     
    struct  DragAndDrop
     
    struct  ObjectSelectionData
     
    struct  RenderNotificationData
     
    struct  ScriptInfoData
     
    struct  DocumentInfoClipData
     
    struct  DocumentInfoMakeProj
     
    struct  DocumentInfoData
     
    class  AssetEntry
     
    struct  AssetData
     
    struct  XrefInitData
     
    struct  GetCustomIconData
     
    struct  DescriptionInlineObjectMsg
     
    struct  MessageScaleDocument
     
    struct  MessageDocumentConvertColors
     
    struct  MessageFilter
     
    struct  BranchInfo
     
    struct  OverrideMaterial
     
    class  NotifyEventMsg
     
    class  NotifyEventCopy
     
    class  NotifyEventData
     
    class  PropertyPropagationOverrideData
     
    struct  CustomIconSettings
     
    class  GeMarker
     
    class  C4DAtom
     
    class  C4DAtomGoal
     
    class  AtomArray
     
    class  GeListNode
     
    class  GeListHead
     
    class  GeListHeadCB
     
    class  BaseList2D
     
    class  BaseLink
     
    class  AliasTrans
     
    class  BaseSceneLoader
     
    class  BaseSceneSaver
     
    class  BaseMaterial
     
    class  Material
     
    class  NodeMaterial
     
    struct  CPolygon
     
    struct  Tangent
     
    struct  Segment
     
    struct  ObjectColorProperties
     
    class  HierarchyHelp
     
    class  BaseObject
     
    class  CameraObject
     
    class  PointObject
     
    struct  CLine
     
    class  LineObject
     
    class  PolygonObject
     
    class  SplineLengthData
     
    class  SplineObject
     
    class  Safety
     
    struct  PolyInfo
     
    struct  NgonNeighbor
     
    class  Neighbor
     
    class  PolyTriangulate
     
    struct  BASEPLUGIN
     
    struct  STATICPLUGIN
     
    class  BasePlugin
     
    class  ToolPlugin
     
    struct  BaseSelectData
     
    class  BaseSelect
     
    class  EdgeBaseSelect
     
    struct  SDataEx
     
    class  BaseSound
     
    class  BaseTag
     
    class  VariableTag
     
    class  PointTag
     
    class  VertexMapTag
     
    class  SegmentTag
     
    class  TangentTag
     
    class  PolygonTag
     
    class  SelectionTag
     
    class  UVWTag
     
    class  NormalTag
     
    class  TextureTag
     
    class  StickTextureTag
     
    class  VertexColorTag
     
    class  XPressoTag
     
    struct  PolyWeight
     
    struct  HNData
     
    struct  HNSubdiv
     
    class  HNWeightTag
     
    class  SoftSelectionTag
     
    class  DisplayTag
     
    class  BaseTime
     
    class  CAnimInfo
     
    class  CKey
     
    class  CCurve
     
    class  CTrack
     
    struct  RestoreLayoutSecret
     
    struct  CommandInformationData
     
    class  CommandData
     
    class  CTrackData
     
    struct  CustomDataType
     
    struct  CustomDataTypeT
     
    struct  GvHelper
     
    struct  iCustomDataType
     
    class  CustomDataTypeClass
     
    class  ResourceDataTypeClass
     
    class  _BaseCustomGui
     
    class  BaseCustomGui
     
    class  BitmapBoolGui
     
    class  BitmapButtonStruct
     
    struct  BitmapButtonCallback
     
    class  BitmapButtonCustomGui
     
    struct  DateTime
     
    class  DateTimeControl
     
    class  DateTimeData
     
    struct  DescPropertyDragData
     
    class  DescriptionPropertyCustomGui
     
    struct  DescriptionFilter
     
    class  DescriptionCustomGui
     
    class  FieldList
     
    class  FieldListGui
     
    class  FilenameCustomGui
     
    class  FontchooserCustomGui
     
    class  FontData
     
    class  Gradient
     
    class  GradientCustomGui
     
    class  HtmlViewerCustomGui
     
    class  HyperLinkData
     
    class  HyperLinkCustomGui
     
    class  InExcludeData
     
    class  InclusionTable
     
    class  InExcludeCustomGui
     
    class  ItemTreeData
     
    struct  Kerning
     
    struct  KerningTriState
     
    class  KerningData
     
    class  KerningCustomGui
     
    class  KerningVpGuiHelper
     
    struct  KerningGetGuiHelperMsg
     
    class  LayerSet
     
    class  LayerSetHelper
     
    class  LayerSetCustomGui
     
    struct  Streak
     
    struct  Glow
     
    struct  Halo
     
    class  LensGlowStruct
     
    class  LensGlowCustomGui
     
    class  LinkBoxGui
     
    struct  CellInfo
     
    struct  DrawInfo
     
    struct  MouseInfo
     
    struct  DragInfo
     
    struct  TreeViewDropDownMenuInfo
     
    struct  TreeViewFloatSliderInfo
     
    class  TreeViewFunctions
     
    class  TreeViewCustomGui
     
    class  ListViewData
     
    class  LongLatGui
     
    class  MatAssignData
     
    class  MatAssignTable
     
    class  MatAssignCustomGui
     
    struct  MatPreviewObjectInfo
     
    struct  MatPreviewModifyCacheScene
     
    struct  MatPreviewPrepareScene
     
    struct  MatPreviewGenerateImage
     
    struct  MatPreviewCopyUserData
     
    struct  MatPreviewHandleDragnDrop
     
    class  MaterialPreviewData
     
    class  MaterialPreviewCustomGui
     
    class  MovieViewCustomGui
     
    class  PLAData
     
    class  PriorityCustomGui
     
    class  PriorityData
     
    class  QuickTabCustomGui
     
    class  RangePair
     
    class  RangeData
     
    class  RangeCustomGui
     
    class  Probe
     
    class  SoundEffectorData
     
    class  SoundEffectorCustomGui
     
    struct  SplineDataCallbackDraw
     
    struct  SplineDataCallbackCursorInfo
     
    struct  SplineDataCallbackCoreMessage
     
    struct  CustomSplineKnot
     
    class  SplineData
     
    class  SplineControlMessages
     
    class  SplineCustomGui
     
    class  TexBoxGui
     
    class  TextureManagerCustomGui
     
    class  TexturenameCustomGui
     
    class  UnitScaleCustomGui
     
    class  UnitScaleData
     
    class  Vector2dCustomGui
     
    struct  CustomProperty
     
    class  CustomGuiData
     
    struct  ToolSystemMessageData
     
    class  DescriptionToolData
     
    struct  FalloffCollectMessage
     
    struct  FalloffDataData
     
    class  FalloffData
     
    class  C4D_Falloff
     
    struct  FieldOutput
     
    struct  FieldOutputBlockTemplate
     
    struct  FieldInput
     
    struct  FieldLayerLink
     
    class  FieldCallerStack
     
    struct  FieldInfo
     
    class  FieldObject
     
    class  FieldLayer
     
    struct  PresampleFieldSingleData
     
    class  FieldData
     
    class  FieldLayerData
     
    class  MemoryFileStruct
     
    class  Filename
     
    class  BaseFile
     
    class  AESFile
     
    class  LocalFileTime
     
    class  BrowseFiles
     
    class  BrowseVolumes
     
    class  HyperFile
     
    struct  BitmapLoaderAnimatedData
     
    class  BitmapLoaderData
     
    class  BitmapSaverData
     
    class  SceneLoaderData
     
    class  SceneSaverData
     
    class  GeData
     
    class  BrowseContainer
     
    class  BrowseConstContainer
     
    class  ParserCache
     
    class  Parser
     
    struct  SerialInfo
     
    class  Registry
     
    class  LassoSelection
     
    class  DebugTimer
     
    class  C4DGadget
     
    class  GadgetPtr
     
    class  GeUserArea
     
    class  TriState
     
    class  UpdateDialogHelper
     
    class  GeDialog
     
    class  GeModalDialog
     
    class  SubDialog
     
    class  iCustomGui
     
    class  ProgressThread
     
    class  ProgressDialog
     
    class  AutoWaitPointer
     
    struct  GvPortListEntry
     
    class  GvPortList
     
    class  GvCalcTime
     
    class  GvCalc
     
    class  GvInit
     
    class  GvValue
     
    class  GvQuery
     
    class  GvRun
     
    class  GvCalcTable
     
    class  GvNode
     
    class  GvPort
     
    class  GvNodeMaster
     
    class  GvNodeGUI
     
    class  GvWorld
     
    struct  ResolvePortDescId
     
    struct  GV_OPCLASS_HANDLER
     
    struct  GV_OPGROUP_HANDLER
     
    struct  GV_VALUE_HANDLER
     
    struct  GV_VALGROUP_HANDLER
     
    struct  GV_DATA_HANDLER
     
    struct  GvDataInfo
     
    struct  GvDestination
     
    struct  GvPortDescription
     
    struct  GvPortInfo
     
    struct  GvPortDescInfo
     
    struct  GvPortsDescInfo
     
    struct  GvPortsInfo
     
    struct  GvValuesInfo
     
    struct  GvDynamicData
     
    struct  GvOperatorDescription
     
    struct  GvDropHook
     
    struct  GvCalcHook
     
    struct  GvMenuHook
     
    struct  GvMessHook
     
    struct  GvAnimHook
     
    struct  GvDrawHook
     
    struct  GvHook
     
    struct  GvWrapper
     
    class  GvOperatorData
     
    class  TP_PGroupArray
     
    struct  TP_Spin
     
    class  TP_BaseCollision
     
    struct  TP_CollisionInterface
     
    struct  TP_PShapeI
     
    class  TP_PShapePtr
     
    class  TP_BaseShape
     
    struct  TP_PShapeInterface
     
    struct  TP_FreeParticle_CB
     
    struct  TP_FreePShape_CB
     
    struct  TP_Msg
     
    struct  TP_PGroupPreRemove
     
    class  TP_MasterSystem
     
    class  TP_ParticleNode
     
    class  TP_PGroup
     
    struct  C4DLibrary
     
    struct  ActiveModeInfo
     
    class  AES
     
    class  BatchRender
     
    class  BiRenderObject
     
    class  BiRenderVideoPost
     
    struct  BiRenderLib
     
    class  SDKBrowserURL
     
    class  SDKReferenceObject
     
    class  SDKBrowser
     
    struct  JointRestState
     
    class  CAJointObject
     
    class  CAWeightTag
     
    class  CAWeightMgr
     
    class  CAReferencePSD
     
    class  CAMorphNode
     
    class  CAMorph
     
    class  CAPoseMorphTag
     
    class  BrushObjectInfo
     
    class  BrushVertexData
     
    class  BrushPixelData
     
    class  BrushBase
     
    class  BrushToolData
     
    struct  GE_POINT2D
     
    class  GeClipMap
     
    class  CloudObject
     
    class  GeColliderCache
     
    class  GeColliderEngine
     
    struct  GeRayColResult
     
    class  GeRayCollider
     
    class  ColorSwatchGroup
     
    class  ColorSwatchData
     
    class  CustomDataTag
     
    class  DateTimeParser
     
    struct  DescLevel
     
    class  DescID
     
    class  ConstDescIDMem
     
    class  Description
     
    class  DynamicDescription
     
    struct  DescriptionBaseMessage
     
    struct  DescriptionCommand
     
    struct  DescriptionPopup
     
    struct  DescriptionCheckDragAndDrop
     
    struct  DescriptionInExDeleted
     
    struct  DescriptionInExAdded
     
    struct  DescriptionInExSelChanged
     
    struct  DescriptionCustomGuiNotification
     
    struct  DescriptionGetBitmap
     
    struct  DescriptionGetObjects
     
    struct  DescriptionAllowOverride
     
    struct  DescriptionTakeChanged
     
    struct  DescriptionImExportVerifySuffix
     
    struct  DescriptionImExportVerifyFilename
     
    class  xBaseCurveClass
     
    class  xBaseGeometryData
     
    class  xBaseCurveData
     
    class  xLineCurveData
     
    class  xCircularCurveData
     
    class  xConicCurveData
     
    class  xNurbsKnots
     
    class  xBaseCurvePoint
     
    class  xNurbsCurvePoint
     
    class  xNurbsCurveData
     
    class  xCompositeCurveData
     
    class  xBaseSurfaceClass
     
    class  xBaseSurfaceData
     
    class  xExtrudeSurfaceData
     
    class  xPlaneSurfaceData
     
    class  xPolynomCurvePoint
     
    class  xPolynomCurveData
     
    class  xPolynomSurfacePoint
     
    class  xPolynomSurfaceData
     
    class  xRotateSurfaceData
     
    class  xUVPairFF
     
    class  xNurbsSurfaceData
     
    class  xMappedCurveClass
     
    class  xMappedCurveData
     
    class  xStandardMappedCurveData
     
    class  xSegmentMappedCurveData
     
    class  xTrimmedSurfaceClass
     
    class  xTrimmedSurfaceData
     
    class  xStandardTrimmedSurfaceData
     
    struct  DWGObjectsLib
     
    struct  ConicCurveCoeffcients
     
    class  C4DObjectList
     
    class  ManagerInfo
     
    struct  HairRootData
     
    struct  HairPolygonHit
     
    struct  RootObjectData
     
    class  HairGuideWeight
     
    class  HairInterpolationMap
     
    class  HairMaterialData
     
    class  HairGuideDynamics
     
    class  HairGuides
     
    class  HairObject
     
    class  HairVertexMapTag
     
    class  HairSelectionTag
     
    class  HairTangentTag
     
    class  HairRenderObject
     
    struct  HairFragment
     
    struct  HairFragmentLink
     
    struct  HairHitData
     
    class  HairVideoPost
     
    class  HairPluginObjectData
     
    class  HairPluginMessageData
     
    class  HairLibrary
     
    class  HairCollider
     
    class  InstanceObject
     
    struct  MultiInstanceData
     
    struct  IntersectHitData
     
    class  IIntersect
     
    class  LayerShaderLayer
     
    class  LayerShader
     
    class  LodObject
     
    struct  PointMove
     
    struct  TransIndexMapData
     
    struct  TransMapData
     
    struct  TransMapNewData
     
    struct  TransPointInterData
     
    struct  TransPointDeltaData
     
    class  TranslationMaps
     
    class  Modeling
     
    class  MtTrkGid
     
    class  Mt2dTrackData
     
    class  Mt2dTrack
     
    class  MtData
     
    class  MtFootageData
     
    class  MotionTrackerObject
     
    struct  RenderTask
     
    struct  RenderTaskTransfer
     
    class  Task
     
    class  MachineGroup
     
    class  NetRenderData
     
    class  Machine
     
    class  RenderJob
     
    class  NetService
     
    class  Asset
     
    class  Repository
     
    class  UserPool
     
    class  User
     
    class  NetRenderService
     
    struct  NetRenderBuffer
     
    struct  NetRenderMsgBucketInfo
     
    struct  NetRenderMsgBucketIndex
     
    struct  NetRenderMsgBucketStarted
     
    struct  NetRenderMsgBucketFinished
     
    struct  NetRenderMsgCacheGetCache
     
    struct  NetRenderMsgCacheGetTask
     
    struct  NetRenderMsgCacheSendTask
     
    struct  NetRenderMsgCacheProgress
     
    struct  NetRenderMsgCachePrepass
     
    struct  NetRenderDocumentContext
     
    struct  NetLibrary
     
    class  Ngon
     
    class  PgonEdge
     
    class  Pgon
     
    class  NgonBase
     
    class  C4DNoise
     
    struct  PaintManager
     
    class  PaintView
     
    class  BPPaintSettings
     
    class  BPSingleColorSettings
     
    class  BPColorSettings
     
    struct  BPColorSettingsHelpers
     
    class  ParticleGroupObject
     
    class  PolygonReductionData
     
    class  PolygonReduction
     
    struct  PrefsDialogHook
     
    struct  PrefsMapTable
     
    class  PrefsDialogObject
     
    class  RegularExprParser
     
    class  SceneColorConverter
     
    class  SculptLayerData
     
    class  SculptLayerBase
     
    class  SculptLayer
     
    class  SculptFolder
     
    class  SculptLayerSystem
     
    struct  SculptHitData
     
    class  SculptObject
     
    class  SculptTag
     
    class  SculptFlagChecker
     
    class  SculptPointPolysIterator
     
    struct  SculptMouseData
     
    struct  SculptCustomData
     
    struct  BrushPointData
     
    struct  BrushPolyData
     
    class  BrushDabData
     
    class  CustomSculptBrushBase
     
    class  SculptBrushParams
     
    class  SculptBrushToolData
     
    class  SculptBrushModifierData
     
    class  SculptModifierInterface
     
    struct  SDSSubdivisionMask
     
    class  SDSObject
     
    class  SelectionChanger
     
    class  GeSndInfo
     
    class  GePlaySnd
     
    struct  SubstanceShdGetBitmap
     
    class  BaseOverride
     
    class  BaseOverrideGroup
     
    class  BaseTake
     
    class  TakeData
     
    struct  TokenEntry
     
    struct  RenderPathData
     
    class  VolumeBuilder
     
    class  VolumeObject
     
    class  VoronoiFracture
     
    struct  ZipFileTime
     
    struct  ZipFileGlobalInfo
     
    struct  ZipFileInfo
     
    struct  ZipWriteInfo
     
    class  ZipFile
     
    class  SDKReferenceObjectBasePtr
     
    class  SDKReferenceObjectPtr
     
    struct  MouseDownInfo
     
    class  GeListView
     
    class  SimpleListView
     
    class  MaterialData
     
    class  MessageData
     
    struct  MTBodyPartParameters
     
    class  MTCharacterBodyPart
     
    class  MTCharacterDefinitionTag
     
    class  MTCharacterMotionTransferTag
     
    struct  MoccaLibrary
     
    class  NetworkIpConnection
     
    class  NodeData
     
    class  HandleInfo
     
    class  ObjectData
     
    struct  TempUVHandle
     
    struct  TextureSize
     
    class  PaintBitmap
     
    class  PaintLayer
     
    class  PaintLayerMask
     
    class  PaintLayerFolder
     
    class  PaintLayerBmp
     
    class  PaintTexture
     
    class  PaintMaterial
     
    struct  PaintBrushData
     
    struct  BaseParticle
     
    class  Particle
     
    struct  ParticleDetails
     
    class  ParticleTag
     
    class  ParticleObject
     
    struct  C4DPL_CommandLineArgs
     
    struct  C4DPL_EditImage
     
    struct  C4DPL_DeviceChange
     
    struct  C4DPL_NetRenderResult
     
    class  Quaternion
     
    struct  RayPolygon
     
    struct  ObjectRestriction
     
    struct  RayObjectInstanceData
     
    struct  RayObject
     
    struct  PolyVector
     
    struct  RayPolyWeight
     
    struct  RayLightNoise
     
    struct  RayLightCaustics
     
    struct  RayLightShadow
     
    struct  RayLightVisible
     
    struct  RayLight
     
    struct  RayParameter
     
    struct  RayEnvironment
     
    struct  RayCamera
     
    struct  SurfaceData
     
    struct  RayLightComponent
     
    struct  RayLightCache
     
    struct  RaySampler
     
    struct  RayHemiSample
     
    struct  RayHemisphere
     
    struct  RadiancePolyFrontBack
     
    struct  RayRadiancePoly
     
    struct  RayRadianceObject
     
    struct  PixelFragment
     
    struct  IlluminanceSurfacePointData
     
    struct  RayMotionNormal
     
    struct  RayMotionPolyNormal
     
    struct  RayMotionMatrixData
     
    struct  RayMotionMatrix
     
    struct  RayMotionTextureFrame
     
    struct  RayMotionTexture
     
    struct  RayMotionObject
     
    struct  RayMotionLightFrame
     
    struct  RayMotionLight
     
    struct  RayMotionCameraFrame
     
    struct  RayMotionCamera
     
    class  ReflectionLayer
     
    class  GeResource
     
    class  SceneHookData
     
    class  OcioConverter
     
    class  InitRenderStruct
     
    struct  RayIllumination
     
    struct  TexData
     
    struct  Ray
     
    struct  RayHitID
     
    struct  SurfaceIntersection
     
    struct  Multipass
     
    struct  BaseVolumeData
     
    struct  ChannelData
     
    struct  RenameTextureMessage
     
    struct  VPFragment
     
    class  ShaderData
     
    struct  SnapPoint
     
    struct  SnapResult
     
    struct  SnapExclude
     
    struct  SnapStruct
     
    class  SnapData
     
    class  SnapCore
     
    class  LatLongRange
     
    class  SpcInfo
     
    class  String
     
    class  TagData
     
    class  BaseThread
     
    class  C4DThread
     
    class  AutoLock
     
    class  AutoLocker
     
    class  AutoRWLock
     
    class  AutoRWLocker
     
    struct  ControlDisplayStruct
     
    class  EditorWindow
     
    class  ToolData
     
    struct  SegmentSphereIntersectionData
     
    class  LMinMax
     
    class  SMinMax
     
    class  Random
     
    struct  RayShaderStackElement
     
    struct  MsgGICSExData
     
    struct  MsgGINewData
     
    class  Stratified2DRandom
     
    struct  DisplaceInfo
     
    struct  VolumeData
     
    class  VPBuffer
     
    struct  VideoPostStruct
     
    class  Render
     
    struct  BakeProgressInfo
     
    struct  BakeTextureResizeNotify
     
    class  GeCipher256
     
    class  C4DUuid
     
    class  BaseVideoPost
     
    struct  BaseVideoPostStruct
     
    struct  PixelPost
     
    struct  VideoPostSettingModeQuery
     
    struct  GlobalIlluminationInformation
     
    struct  StereoCameraInfo
     
    struct  MotionInfo
     
    struct  ColorProfileInfo
     
    class  VideoPostData
     
    class  AutoAlloc
     
    class  AutoFree
     
    struct  BezierPoint
     
    struct  ViewportRenderIDMessageData
     
    struct  UVWStruct
     
    struct  SUVWStruct
     
    struct  NormalStruct
     
    struct  VertexColorStruct
     
    struct  IconData
     
    struct  ModelingCommandData
     
    struct  MultiPassChannel
     

    Typedefs

    typedef void(* PickSessionCallBack) (Int32 flags, const PickSessionDataStruct *psd)
     
    using ProgressDelegate = maxon::Delegate< Bool(Float percent)>
     
    typedef BM_INFO * BM_REF
     
    typedef Int32 PROGRESS_ID
     
    typedef GeData MasterCallBackFunc(GeDialog *master, const BaseContainer &msg)
     
    typedef maxon::Delegate< maxon::Result< void >FieldInput &, const FieldInfo &)> FieldLambdaInput
     
    typedef maxon::Delegate< maxon::Result< void >const FieldInput &, const FieldOutputBlock &, const FieldInfo &)> FieldLambdaOutput
     
    using GradientRenderDataTuple = maxon::Tuple< maxon::GradientRenderData, maxon::GradientRenderData >
     
    typedef void HtmlViewerCustomGuiURLCallback(void *user_data, const maxon::String &url, Bool hasError, Int32 encoding, void *reserved)
     
    typedef maxon::Opt< maxon::BaseArray< Char > > HtmlViewerCustomGuiResourceRequestInterceptCallback(void *user_data, const maxon::String &url, Int32 encoding, void *reserved)
     
    using CustomIconGetIdDelegate = maxon::Delegate< Int32()>
     
    using CustomIconDrawDelegate = maxon::Delegate< void(IconData &dat)>
     
    typedef Bool(* VisitChildrenCallback) (void *root, void *obj, void *userdata, void *data1, void *data2, Bool &bCont)
     
    typedef Bool(* RenderPreviewImageCallback) (Int32 lMessage, void *pData, void *pUserData)
     
    typedef Bool(* SplineDataCallback) (Int32 id, const void *d)
     
    typedef FalloffDataFalloffDataAllocator()
     
    using FieldOutputRef = maxon::StrongRef< FieldOutput >
     
    typedef Filename RelativeFilename
     
    typedef maxon::Tuple< maxon::Url, BoolTexturePathTuple
     
    typedef maxon::BaseArray< TexturePathTupleTexturePathList
     
    typedef UChar OBSOLETE
     
    typedef NodeDataDataAllocator()
     
    typedef Int32 GvOpClassSubID
     
    typedef Int32 GvOpGroupSubID
     
    typedef Int32 GvValGroupSubID
     
    typedef Int32 GvDataSubID
     
    typedef Int32 GvValueSubID
     
    typedef Int32 GvDataType
     
    typedef Int32 GvOperatorID
     
    typedef Int32 GvOpClassID
     
    typedef Int32 GvOpGroupID
     
    typedef Int32 GvValGroupID
     
    typedef Int32 GvDataID
     
    typedef Int32 GvValueID
     
    typedef Int32 GvUserDataID
     
    typedef Bool(* GvDropHookFunc) (GvDropHook &hook)
     
    typedef Bool(* GvCalcHookFunc) (GvCalcHook &hook)
     
    typedef Bool(* GvMenuHookFunc) (GvMenuHook &hook)
     
    typedef Bool(* GvMessHookFunc) (GvMessHook &hook)
     
    typedef Bool(* GvAnimHookFunc) (GvAnimHook &hook)
     
    typedef void(* GvDrawHookFunc) (GvDrawHook &hook)
     
    typedef BaseList2D *(* GvHookCallback) (BaseDocument *doc, Int32 id)
     
    typedef Int32 GvValueType
     
    typedef Int32GvIdTablePtr
     
    typedef Bool(* PluginHelpDelegate) (const maxon::String &opType, const maxon::String &baseType, const maxon::String &group, const maxon::String &property)
     
    typedef GeData MESSAGEHOOK(const BaseContainer &msg, void *data)
     
    typedef Bool(* PFNRIJINDAEL_CIPHER_PROGRESS) (Int lProgress, Int lLength, void *pData)
     
    typedef SDKReferenceObjectPtr< SDKRTreeNode > SDKRTreeNodeRef
     
    typedef struct _NGV_DRAW_PORT * NGVH_DP
     
    typedef struct _NGV_RGN * NGVH_RGN
     
    typedef Bool(* CloudDrawFn) (BaseObject *op, BaseDraw *pDraw, BaseDrawHelp *pDrawHelp, Int32 lGrid, Float rQuality, const Vector &vScale, BaseObject *pSun, Bool bDrawPlane)
     
    typedef void *(* CloudDataAllocator) (BaseObject *pCloud)
     
    typedef void(* ClodDataDeleter) (BaseObject *pCloud, void *&pData)
     
    using ColorAlphaArray = maxon::BaseArray< maxon::ColorA >
     
    typedef Bool(* HrDeform) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, Vector *padr, Int32 cnt, Int32 scnt)
     
    typedef Bool(* HrStyle) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, Vector *padr, Int32 cnt, Int32 scnt)
     
    typedef Bool(* HrForce) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, Vector *force, Float *invmass, Vector *padr, Int32 pcnt, Int32 cnt, Int32 scnt, Float t1, Float t2)
     
    typedef Bool(* HrConstraint) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, Vector *oldpnt, Vector *newpnt, Float *invmass, Int32 pcnt, Int32 cnt, Int32 scnt)
     
    typedef Bool(* HrCollision) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, const Vector &bmin, const Vector &bmax, Float t1, Float t2, Float pr, Vector *oldpnt, Vector *newpnt, Vector *vel, Float *invmass, Int32 pcnt, Int32 cnt, Int32 scnt)
     
    typedef HairGuides *(* HrGenerate) (BaseDocument *doc, BaseList2D *op, HairObject *hair, BaseThread *thd, VolumeData *vd, Int32 pass, void *data)
     
    typedef Int32(* HrCalcHair) (Int32 index, Int32 oindex, NodeData *node, HairGuides *guides, Vector *guide_pnts, Vector *rend_pnts, Float32 *thickness, VolumeData *vd, Vector *n)
     
    typedef Int32(* HrGenerateAdd) (BaseDocument *doc, BaseList2D *op)
     
    typedef Vector(* HrGenerateColor) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &v, const Vector &n, const Vector &lp, const Vector &t, const Vector &r, const Vector &huv, const RayHitID &ply_hit)
     
    typedef Float(* HrGenerateTransparency) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light)
     
    typedef Vector(* HrSampleExt) (BaseShader *shader, NodeData *node, ChannelData *cd, HairGuides *guides, Int32 i, Float t)
     
    typedef Vector(* HrSampleHairColorHook) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &v, const Vector &n, const Vector &lp, const Vector &t, const Vector &r, const Vector &huv, const RayHitID &ply_hit)
     
    typedef Float(* HrSampleHairTransparencyHook) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light)
     
    typedef Float(* HrSampleShadowBufferHook) (HairVideoPost *vp, VolumeData *vd, const RayLight *light, const Vector &p, Float delta, Int32 cpu)
     
    typedef Bool(* HrGenerateHairHook) (HairObject *op, HairGuides *guides, HairGuides *hair, Int32 pass)
     
    typedef Bool(* HrIlluminateHook) (HairVideoPost *vp, VolumeData *vd, const RayLight *light, Vector &colshad, Vector &col, Vector &lv, const Vector &p, const Vector &v)
     
    typedef Bool(* HrInitRender) (HairVideoPost *vp, VolumeData *vd, BaseDocument *doc, BaseList2D *bl, HairObject *op, HairGuides *guides, Int32 oindex, Int32 pass)
     
    typedef void(* HrFreeRender) (HairVideoPost *vp, BaseList2D *bl)
     
    typedef Float(* HrModifyHairShadowTransparency) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light, Float trans)
     
    typedef Bool(* TriangulateHook) (BaseObject *pObj, Int32 lNgonID, Ngon *ngon, const Vector *pvPoints, Int32 lPointCount, CPolygon *&pPolys, Int32 &lPolyCount, Bool &bTriang, void *pData)
     
    typedef String TOKENHOOK(void *data)
     
    typedef Int32(* ExtractDirectoryCallback) (const Filename &fnSrc, const Filename &fnDest, void *pData, Int32 lInfo)
     
    typedef struct _ZHandle ZHandle
     
    typedef void IlluminanceSurfacePointModel(VolumeData *sd, RayLightCache *rlc, IlluminanceSurfacePointData *dat)
     
    typedef void IlluminationModel(VolumeData *sd, RayLightCache *rlc, void *dat)
     
    typedef SnapDataSnapDataAllocator()
     
    typedef LatLongRange SphereArc
     
    typedef LMinMax MinMax
     
    typedef UChar PIX
     
    typedef UChar PIX_C
     
    typedef UInt16 PIX_W
     
    typedef Float32 PIX_F
     
    typedef maxon::Vec3< maxon::Float32, 1 > Vector32
     
    typedef maxon::Vec3< maxon::Float64, 1 > Vector64
     
    typedef maxon::Vec3< maxon::Float64, 1 > Vector
     
    typedef maxon::Vec2< maxon::Float64, 1 > Vector2d
     
    typedef maxon::Vec2< maxon::Float64, 1 > Vector2d64
     
    typedef maxon::Mat3< maxon::Vector64Matrix64
     
    typedef maxon::Mat3< maxon::Vector32Matrix32
     
    typedef maxon::Mat3< maxon::Vector64Matrix
     
    typedef void * Hndl
     
    typedef int INT
     
    typedef unsigned int UINT
     
    typedef maxon::Bool Bool
     
    typedef maxon::Char Char
     
    typedef maxon::UChar UChar
     
    typedef maxon::Int16 Int16
     
    typedef maxon::UInt16 UInt16
     
    typedef maxon::Int32 Int32
     
    typedef maxon::UInt32 UInt32
     
    typedef maxon::Int64 Int64
     
    typedef maxon::UInt64 UInt64
     
    typedef maxon::Int Int
     
    typedef maxon::UInt UInt
     
    typedef maxon::Float Float
     
    typedef maxon::Float64 Float64
     
    typedef maxon::Float32 Float32
     
    typedef maxon::Utf32Char Utf32Char
     
    typedef maxon::Utf16Char Utf16Char
     
    using Matrix4d32 = maxon::SqrMat4< Vector4d32 >
     
    using Matrix4d64 = maxon::SqrMat4< Vector4d64 >
     
    using Matrix4d = maxon::SqrMat4< Vector4d >
     
    using FieldOutputBlock = FieldOutputBlockTemplate< false >
     
    using ConstFieldOutputBlock = FieldOutputBlockTemplate< true >
     
    using NetworkIpAddr = maxon::NetworkIpAddr
     
    using NetworkIpAddrPort = maxon::NetworkIpAddrPort
     
    using NetworkInterface = maxon::NetworkInterface
     
    using ZeroConfService = maxon::ZeroConfServiceRef
     
    using ProcessEditorPreviewImageFn = maxon::Delegate< maxon::Result< void >(BaseBitmap const *&bitmap, UInt32 &checksum)>
     
    using ModifyFilenameDelegate = maxon::Delegate< maxon::Result< void >(Int32 message, const Filename &oldName, const Filename &newName)>
     
    using OcioConverterRef = maxon::StrongRef< OcioConverter >
     
    typedef Int32 CDialogMessage(CDialog *cd, CUserArea *cu, BaseContainer *msg)
     
    typedef void ListViewCallBack(Int32 &res_type, void *&result, void *userdata, void *secret, Int32 cmd, Int32 line, Int32 col, void *data1)
     
    typedef void(* BrowserPopupCallback) (void *userdata, Int32 cmd, SDKBrowserURL &url, const maxon::Id &assetId)
     
    typedef Bool(* BaseDrawMessageHook) (BaseDraw *pBaseDraw, BaseDocument *pDoc, BASEDRAW_HOOK_MESSAGE msg, void *pData)
     
    typedef void ThreadMain(void *data)
     
    typedef Bool ThreadTest(void *data)
     
    typedef const CharThreadName(void *data)
     
    typedef void ProgressHook(Float p, RENDERPROGRESSTYPE progress_type, void *context)
     
    typedef void WriteProgressHook(WRITEMODE mode, BaseBitmap *bmp, const Filename &fn, Bool mainImage, Int32 frame, Int32 renderTime, Int32 streamnum, const maxon::String &streamname, void *context)
     
    typedef void BakeProgressHook(BakeProgressInfo *info)
     
    typedef void * HierarchyAlloc(void *main)
     
    typedef void HierarchyFree(void *main, void *data)
     
    typedef void HierarchyCopyTo(void *main, void *src, void *dst)
     
    typedef Bool HierarchyDo(void *main, void *data, BaseObject *op, const Matrix &mg, Bool controlobject)
     
    typedef void(* LASTCURSORINFOFUNC) ()
     
    typedef Bool(* SaveCallbackImageFunc) (RDATA_SAVECALLBACK_CMD cmd, void *userdata, BaseDocument *doc, Int32 framenum, BaseBitmap *bmp, const Filename &fn)
     
    typedef Bool BackgroundHandler(void *data, BACKGROUNDHANDLERCOMMAND command, BACKGROUNDHANDLERFLAGS parm)
     
    typedef void(* C4D_CrashHandler) (Char *crashinfo)
     
    typedef void(* C4D_CreateOpenGLContext) (void *context, void *root, UInt32 flags)
     
    typedef void(* C4D_DeleteOpenGLContext) (void *context, UInt32 flags)
     
    typedef GeData CodeEditorCallback(BaseList2D *obj, const BaseContainer &msg)
     
    typedef void * UVWHandle
     
    typedef const void * ConstUVWHandle
     
    typedef void * NormalHandle
     
    typedef const void * ConstNormalHandle
     
    typedef void * VertexColorHandle
     
    typedef const void * ConstVertexColorHandle
     
    using Vector4d32 = maxon::Vector4d32
     
    using Vector4d64 = maxon::Vector4d64
     
    using Vector4d = maxon::Vector4d
     

    Enumerations

    enum class  ACCESSED_OBJECTS_MASK {
      NONE ,
      MATRIX ,
      DATA ,
      BITS ,
      NBITS ,
      FALLOFF ,
      MEMBER ,
      DEFORM_MODE ,
      CACHE_FLAG ,
      CACHE ,
      VARIABLE_TAG ,
      NON_VARIABLE_TAG ,
      ANY_TAG ,
      DESCRIPTION ,
      ALL ,
      GLOBAL_MATRIX_FLAG ,
      CHILD_CACHE ,
      GLOBAL_MATRIX
    }
     
    enum class  METHOD_ID : Int32 {
      MIN_EXECUTION_ID ,
      NONE ,
      GET_VIRTUAL_OBJECTS ,
      MODIFY_OBJECT ,
      GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT ,
      GV_CALCULATE ,
      SAMPLE ,
      CHECK_DIRTY ,
      EFFECTOR
    }
     
    enum class  GET_ACCESSED_OBJECTS_FLAGS {
      NONE ,
      CLONE_WITH_MODIFIED_PARAMETERS
    }
     
    enum class  BITMAP_UPDATEREGION {
      X1 ,
      Y1 ,
      X2 ,
      Y2 ,
      TYPE ,
      COLOR ,
      PREPARE
    }
     
    enum  {
      Mcamera ,
      Mobject ,
      Mtexture ,
      Mtextureaxis ,
      Mpoints ,
      Medges ,
      Mpolygons ,
      Manimation ,
      Mkinematic ,
      Mmodel ,
      Mpaint ,
      Muvpoints ,
      Muvpolygons ,
      Mpolyedgepoint ,
      Medgepoint ,
      Mworkplane ,
      M2dtracks ,
      Muvedges ,
      Muvon ,
      Mdrag
    }
     
    enum class  MDDIRTY {
      NONE ,
      ALL ,
      ARRAYCOUNT ,
      COUNT ,
      DATA
    }
     
    enum class  MD_TYPE {
      MD_NONE ,
      MD_CHAR ,
      MD_UCHAR ,
      MD_LONG ,
      MD_ULONG ,
      MD_LLONG ,
      MD_MATRIX ,
      MD_COLOR ,
      MD_VECTOR ,
      MD_NORMAL ,
      MD_REAL ,
      MD_BOOL
    }
     
    enum  {
      MODATA_MATRIX ,
      MODATA_COLOR ,
      MODATA_SIZE ,
      MODATA_UVW ,
      MODATA_FLAGS ,
      MODATA_WEIGHT ,
      MODATA_CLONE ,
      MODATA_TIME ,
      MODATA_LASTMAT ,
      MODATA_STARTMAT ,
      MODATA_ALT_INDEX ,
      MODATA_FALLOFF_WGT ,
      MODATA_GROWTH
    }
     
    enum  { ID_MODATA_PASS }
     
    enum class  STRENGTHMASK {
      NONE ,
      POS_X ,
      POS_Y ,
      POS_Z ,
      POS ,
      SCALE_X ,
      SCALE_Y ,
      SCALE_Z ,
      SCALE ,
      ROT_X ,
      ROT_Y ,
      ROT_Z ,
      ROT ,
      COL_X ,
      COL_Y ,
      COL_Z ,
      COL ,
      OTHER_X ,
      OTHER_Y ,
      OTHER_Z ,
      OTHER ,
      OTHER2_X ,
      OTHER2_Y ,
      OTHER2_Z ,
      OTHER2 ,
      OTHER3_X ,
      OTHER3_Y ,
      OTHER3_Z ,
      OTHER3
    }
     
    enum class  TOOLTRANSFORM_FLAG {
      NO_TRANSFORM ,
      NO_RECURSE ,
      NO_PARAMS ,
      NONE
    }
     
    enum class  MODIFIER_FLAG : Int64 {
      NO_NORMAL_DEFORMATION ,
      NONE
    }
     
    enum class  MULTILINEEDITTEXTMESSAGEFLAGS {
      NONE ,
      SET
    }
     
    enum class  SCRIPT_CONTEXT {
      UNKNOWN ,
      SCRIPT_MANAGER ,
      GENERATOR_PYTHON ,
      EFFECTOR_PARAMETER_MODE ,
      EFFECTOR_FULL_MODE ,
      FIELD_OBJECT ,
      FIELD_LAYER ,
      TAG_PYTHON ,
      TAG_INTERACTION ,
      TAG_VISUAL_SELECTOR ,
      TAG_CHARACTER_COMPONENT ,
      MAT_SKETCHTOON_COLOR ,
      MAT_SKETCHTOON_THICKNESS ,
      MAT_SKETCHTOON_OPACITY ,
      GVNODE_PYTHON
    }
     
    enum class  SCRIPT_LANGUAGE {
      UNKOWN ,
      PYTHON ,
      OSL
    }
     
    enum class  MSG_DOCUMENTINFO_TYPE_BEFOREMERGE_RESULT {
      CANCEL ,
      MERGE ,
      NEWSCENE
    }
     
    enum class  DAYOFWEEK {
      MONDAY ,
      TUESDAY ,
      WEDNESDAY ,
      THURSDAY ,
      FRIDAY ,
      SATURDAY ,
      SUNDAY
    }
     
    enum class  MONTHOFYEAR {
      JANUARY ,
      FEBRUARY ,
      MARCH ,
      APRIL ,
      MAY ,
      JUNE ,
      JULY ,
      AUGUST ,
      SEPTEMBER ,
      OCTOBER ,
      NOVEMBER ,
      DECEMBER
    }
     
    enum class  DESCPROP {
      NONE ,
      SEQUENCE ,
      KEY ,
      AUTOKEY_ACTIVE ,
      AUTOKEY_INACTIVE ,
      NOANIM ,
      ENABLED ,
      ANIM_NOT_ALLOWED ,
      GLOBAL_PARAMETER ,
      KEY_CHANGED ,
      HIDDEN ,
      LOCKED ,
      KEY_MUTED ,
      PORTIN ,
      PORTIN_CONNECTED ,
      PORTOUT ,
      PORTOUT_CONNECTED ,
      CHANGED ,
      NOTOVERRIDE ,
      AUTOTAKE ,
      INVERTENABLING ,
      NODE ,
      PARAMETER_DRIVEN
    }
     
    enum class  AMFILTERFLAGS {
      NONE ,
      SHOWHIDDEN ,
      SHOWANIMONLY ,
      SHOWLOCKED ,
      HIDEINLINEATTRIBUTES ,
      SHOWKEYFRAMESEL ,
      SHOWANIMATED ,
      SHOWDRIVERDRIVENXPRESSO ,
      SHOWOVERRIDEN
    }
     
    enum class  FIELDLIST_FLAGS {
      NONE ,
      CLAMPOUTPUT ,
      ENABLEDIRECTIONBYDEFAULT ,
      ENABLECOLORBYDEFAULT ,
      DISABLEVALUEBYDEFAULT ,
      SIMPLEGUI ,
      ENABLEROTATIONBYDEFAULT
    }
     
    enum  {
      FONTCHOOSER_ENABLE_SIZE ,
      FONTCHOOSER_USE_REDUCED_FONT_LIST ,
      FONTCHOOSER_ENABLE_FILTER
    }
     
    enum class  FONTCHOOSER_POPUP_RESULT {
      OK ,
      CANCEL
    }
     
    enum  { ID_ICONCHOOSER_SETTINGS_SPECIALCASES }
     
    enum  {
      LINKBOX_HIDE_ICON ,
      LINKBOX_LAYERMODE ,
      LINKBOX_NODE_MODE ,
      LINKBOX_NO_PICKER
    }
     
    enum  {
      ID_TREEVIEW_CONTEXT_DISABLE ,
      ID_TREEVIEW_CONTEXT_REMOVE ,
      ID_TREEVIEW_CONTEXT_RESET ,
      ID_TREEVIEW_FIRST_NEW_ID
    }
     
    enum  MatPreviewType {
      MatPreviewDefault ,
      MatPreviewFlat2D ,
      MatPreviewCube ,
      MatPreviewPlane ,
      MatPreviewCylinder ,
      MatPreviewTorus ,
      MatPreviewPlaneBack ,
      MatPreviewSphere ,
      MatPreview2Torus ,
      MatPreviewRoundedCube ,
      MatPreviewKnot ,
      MatPreviewMultipleObjects ,
      MatPreviewCandle ,
      MatPreviewCloth ,
      MatPreviewGem ,
      MatPreviewObjectAnim ,
      MatPreviewObject ,
      MatPreviewUser
    }
     
    enum  MatPreviewSize {
      MatPreviewSizeDefault ,
      MatPreviewSizeSmall ,
      MatPreviewSizeMedium ,
      MatPreviewSizeBig ,
      MatPreviewSizeLarge
    }
     
    enum  {
      RANGE_ALLOWRANGEEDIT ,
      RANGE_ALLOWVALUEEDIT ,
      RANGE_ALLOWVALUEEDIT_NONUMERICAL ,
      RANGE_ALLOWRANGESLELECION ,
      RANGE_SHOWVALUE ,
      RANGE_SHOWVALUEPOINTER ,
      RANGE_ALLOWCOLOREDIT ,
      RANGE_REVERSEVALUE ,
      RANGE_SHOWNUMBERONBAR ,
      RANGE_REMAPVALUE ,
      RANGE_REMAPUNIT ,
      RANGE_REMAPMIN ,
      RANGE_REMAPMAX ,
      RANGE_VALUESTRING ,
      RANGE_CURSORICON
    }
     
    enum  {
      MSG_DESCRIPTION_RANGEGUI_KNOTSELECTED ,
      MSG_DESCRIPTION_RANGEGUI_KNOTDELETED ,
      MSG_DESCRIPTION_RANGEGUI_KNOTADDED ,
      MSG_DESCRIPTION_RANGEGUI_RANGESINVERTED ,
      MSG_DESCRIPTION_RANGEGUI_USERCURRENTVALUECHANGED
    }
     
    enum  {
      SPLINECONTROL_GRID_H ,
      SPLINECONTROL_GRID_V ,
      SPLINECONTROL_VALUE_EDIT_H ,
      SPLINECONTROL_VALUE_EDIT_V ,
      SPLINECONTROL_VALUE_LABELS_H_LEGACY ,
      SPLINECONTROL_VALUE_LABELS_V_LEGACY ,
      SPLINECONTROL_X_MIN ,
      SPLINECONTROL_X_MAX ,
      SPLINECONTROL_X_STEPS ,
      SPLINECONTROL_Y_MIN ,
      SPLINECONTROL_Y_MAX ,
      SPLINECONTROL_Y_STEPS ,
      SPLINECONTROL_PRESET_BTN_LEGACY ,
      SPLINECONTROL_ROUND_SLIDER_LEGACY ,
      SPLINECONTROL_GRIDLINES_H_LEGACY ,
      SPLINECONTROL_GRIDLINES_V_LEGACY ,
      SPLINECONTROL_MINSIZE_H ,
      SPLINECONTROL_MINSIZE_V ,
      SPLINECONTROL_X_MIN_TEXT_LEGACY ,
      SPLINECONTROL_X_MAX_TEXT_LEGACY ,
      SPLINECONTROL_Y_MIN_TEXT_LEGACY ,
      SPLINECONTROL_Y_MAX_TEXT_LEGACY ,
      SPLINECONTROL_X_TEXT ,
      SPLINECONTROL_Y_TEXT ,
      SPLINECONTROL_NEW_NO_HORIZ_LEGACY ,
      SPLINECONTROL_NEW_NO_VERT_LEGACY ,
      SPLINECONTROL_HIDE_GRID_H_LEGACY ,
      SPLINECONTROL_HIDE_GRID_V_LEGACY ,
      SPLINECONTROL_HIDE_PRESET_BTN_LEGACY ,
      SPLINECONTROL_HIDE_ROUND_SLIDER_LEGACY ,
      SPLINECONTROL_HIDE_VALUE_EDIT_H_LEGACY ,
      SPLINECONTROL_HIDE_VALUE_EDIT_V_LEGACY ,
      SPLINECONTROL_HIDE_VALUE_LABELS_H_LEGACY ,
      SPLINECONTROL_HIDE_VALUE_LABELS_V_LEGACY ,
      SPLINECONTROL_ALLOW_HORIZ_SCALE_MOVE ,
      SPLINECONTROL_ALLOW_VERT_SCALE_MOVE ,
      SPLINECONTROL_OPTIMAL ,
      SPLINECONTROL_OPTIMAL_X_MIN ,
      SPLINECONTROL_OPTIMAL_Y_MIN ,
      SPLINECONTROL_OPTIMAL_X_MAX ,
      SPLINECONTROL_OPTIMAL_Y_MAX ,
      SPLINECONTROL_SQUARE ,
      SPLINECONTROL_CUSTOMCOLOR_SET ,
      SPLINECONTROL_CUSTOMCOLOR_COL ,
      SPLINECONTROL_NO_FLOATING_WINDOW ,
      SPLINECONTROL_NO_PRESETS ,
      _SPLINECONTROL_DUMMY_
    }
     
    enum  CustomSplineKnotInterpolation {
      CustomSplineKnotInterpolationBezier ,
      CustomSplineKnotInterpolationLinear ,
      CustomSplineKnotInterpolationCubic
    }
     
    enum  {
      SPLINE_TYPE_SOFT ,
      SPLINE_TYPE_EASEIN ,
      SPLINE_TYPE_EASEOUT ,
      SPLINE_TYPE_EASEEASE ,
      SPLINE_TYPE_ZERO ,
      SPLINE_TYPE_UNIFY
    }
     
    enum class  DOCUMENT_UNIT {
      UNDEFINED ,
      KM ,
      M ,
      CM ,
      MM ,
      MICRO ,
      NM ,
      MILE ,
      YARD ,
      FOOT ,
      INCH
    }
     
    enum  HIDE_UNIT {
      KM ,
      KM ,
      M ,
      M ,
      CM ,
      CM ,
      MM ,
      MM ,
      MICRO ,
      MICRO ,
      NM ,
      NM ,
      MILE ,
      MILE ,
      YARD ,
      YARD ,
      FOOT ,
      FOOT ,
      INCH ,
      INCH
    }
     
    enum class  CUSTOMTYPE {
      END ,
      FLAG ,
      LONG ,
      REAL ,
      STRING ,
      VECTOR ,
      HIDE_ID
    }
     
    enum class  MAXONCONVERTMODE {
      NONE ,
      READ ,
      WRITE
    }
     
    enum class  BITMAPLOADERACTION {
      INIT ,
      LOAD ,
      FREE ,
      INITLAYERSET
    }
     
    enum  DA {
      DA_NIL ,
      DA_VOID ,
      DA_LONG ,
      DA_REAL ,
      DA_TIME ,
      DA_VECTOR ,
      DA_MATRIX ,
      DA_LLONG ,
      DA_BYTEARRAY ,
      DA_STRING ,
      DA_FILENAME ,
      DA_CONTAINER ,
      DA_ALIASLINK ,
      DA_MARKER ,
      DA_MISSINGPLUG ,
      DA_UUID ,
      DA_TRISTATE ,
      DA_DATA ,
      DA_CUSTOMDATATYPE ,
      DA_END
    }
     
    enum  DEFAULTVALUETYPE { DEFAULTVALUE }
     
    enum  VOIDVALUETYPE { VOIDVALUE }
     
    enum  LLONGVALUETYPE { LLONGVALUE }
     
    enum class  MACHINEFEATURESTYPE {
      CURRENT ,
      HARDWARE_OGL
    }
     
    enum  {
      FORMAT_FLOAT ,
      FORMAT_INT ,
      FORMAT_PERCENT ,
      FORMAT_DEGREE ,
      FORMAT_METER ,
      FORMAT_FRAMES ,
      FORMAT_SECONDS ,
      FORMAT_SMPTE
    }
     
    enum  {
      GV_GROUP_INPUT_FIRST_PRIVATE_ID ,
      GV_GROUP_INPUT_LAST_PRIVATE_ID ,
      GV_GROUP_OUTPUT_FIRST_PRIVATE_ID ,
      GV_GROUP_OUTPUT_LAST_PRIVATE_ID ,
      GV_GROUP_INPUT_FIRST_ID ,
      GV_GROUP_INPUT_LAST_ID ,
      GV_GROUP_OUTPUT_FIRST_ID ,
      GV_GROUP_OUTPUT_LAST_ID
    }
     
    enum  GvFileIdent {
      GV_MACRO_IDENT ,
      GV_PRESET_IDENT
    }
     
    enum  { GV_MESSAGE_FIRST_DATA_ID }
     
    enum  GvMessage {
      GV_MESSAGE_NONE ,
      GV_MESSAGE_PORT_ADDED ,
      GV_MESSAGE_PORT_REMOVED ,
      GV_MESSAGE_PORT_RENAMED ,
      GV_MESSAGE_VIEW_CHANGED ,
      GV_MESSAGE_NODE_RENAMED ,
      GV_MESSAGE_NODE_ENABLED ,
      GV_MESSAGE_NODE_DISABLED ,
      GV_MESSAGE_NODE_CREATED ,
      GV_MESSAGE_NODE_REMOVED ,
      GV_MESSAGE_NODE_SELECTED ,
      GV_MESSAGE_NODE_DESELECTED ,
      GV_MESSAGE_OPERATOR_MENU ,
      GV_MESSAGE_OPERATOR_EDIT_SETTINGS ,
      GV_MESSAGE_MASTER_INIT ,
      GV_MESSAGE_MASTER_REDRAW ,
      GV_MESSAGE_TRANSLATE_ID ,
      GV_MESSAGE_PORTS_MENU ,
      GV_MESSAGE_OBJECT_RESOLVEPORTDESCID
    }
     
    enum  GvOperatorType {
      GV_OPERATOR_TYPE_INVALID ,
      GV_OPERATOR_TYPE_GROUP ,
      GV_OPERATOR_TYPE_NODE ,
      GV_OPERATOR_TYPE_DUMMY ,
      GV_OPERATOR_TYPE_GENERAL ,
      GV_OPERATOR_TYPE_CALCULATE ,
      GV_OPERATOR_TYPE_ITERATOR ,
      GV_OPERATOR_TYPE_BOOL ,
      GV_OPERATOR_TYPE_LOGICAL ,
      GV_OPERATOR_TYPE_ADAPTER ,
      GV_OPERATOR_TYPE_THINKINGPARTICLES
    }
     
    enum  GvCalcState {
      GV_CALC_STATE_NO_FAILURE ,
      GV_CALC_STATE_DISABLED_FAILURE ,
      GV_CALC_STATE_LOCAL_FAILURE ,
      GV_CALC_STATE_MASTER_FAILURE ,
      GV_CALC_STATE_GLOBAL_FAILURE
    }
     
    enum  GvPortIO {
      GV_PORT_INVALID ,
      GV_PORT_INPUT ,
      GV_PORT_OUTPUT ,
      GV_PORT_INPUT_OR_GEDATA
    }
     
    enum  GvBodyDefaultSize {
      GV_DEFAULT_BODY_WIDTH ,
      GV_DEFAULT_BODY_HEIGHT
    }
     
    enum  GvState {
      GV_STATE_NORMAL ,
      GV_STATE_SELECTED ,
      GV_STATE_DISABLED ,
      GV_STATE_SELECTED_AND_DISABLED ,
      GV_NR_OF_STATES
    }
     
    enum  GvRunId {
      GV_RESET_RUN_ID ,
      GV_INITIAL_RUN_ID
    }
     
    enum  {
      GV_INVALID ,
      GV_ATOMARRAY ,
      GV_BOOL ,
      GV_INT ,
      GV_REAL ,
      GV_VECTOR ,
      GV_NORMAL ,
      GV_MATRIX ,
      GV_TIME ,
      GV_STRING ,
      GV_ATOM ,
      GV_USERDEF ,
      GV_DESCID
    }
     
    enum  GvOpSetDataMode {
      GV_OP_NOP ,
      GV_OP_SET ,
      GV_OP_DROP ,
      GV_OP_DROP_IN_BODY ,
      GV_OP_DROP_IN_INDOCK ,
      GV_OP_DROP_IN_OUTDOCK
    }
     
    enum  GvPortID {
      GV_INPUT_FIRST_ID ,
      GV_INPUT_LAST_ID ,
      GV_OUTPUT_FIRST_ID ,
      GV_OUTPUT_LAST_ID ,
      GV_INPUT_FIRST_PRIVATE_ID ,
      GV_INPUT_LAST_PRIVATE_ID ,
      GV_OUTPUT_FIRST_PRIVATE_ID ,
      GV_OUTPUT_LAST_PRIVATE_ID
    }
     
    enum  GvLayoutType {
      GV_LAYOUT_IN_LEFT ,
      GV_LAYOUT_IN_RIGHT ,
      GV_LAYOUT_IN_TOP ,
      GV_LAYOUT_IN_BOTTOM ,
      GV_NR_OF_LAYOUT_TYPES
    }
     
    enum  GvConnMode {
      GV_CONNECTION_MODE_DIRECT ,
      GV_CONNECTION_MODE_STRAIGHT ,
      GV_CONNECTION_MODE_NORMAL ,
      GV_CONNECTION_MODE_CURVED
    }
     
    enum  GvDrawState {
      GV_DRAW_NONE ,
      GV_DRAW_MINIMIZED ,
      GV_DRAW_NORMAL ,
      GV_DRAW_EXTENDED ,
      GV_DRAW_FULLSCREEN
    }
     
    enum  GvGuiConfigIDs {
      GV_GUI_CONFIG_LAYOUT_TYPE ,
      GV_GUI_CONFIG_CONNECTION_MODE ,
      GV_GUI_CONFIG_GRID_X ,
      GV_GUI_CONFIG_GRID_Y ,
      GV_GUI_CONFIG_STATUS_BAR ,
      GV_GUI_CONFIG_CONNECTION_MIN_OFFSET ,
      GV_GUI_CONFIG_CONNECTION_MAX_OFFSET ,
      GV_GUI_CONFIG_TEXT_BORDER_HORZ ,
      GV_GUI_CONFIG_TEXT_BORDER_VERT ,
      GV_GUI_CONFIG_BORDER_SIZE ,
      GV_GUI_CONFIG_DOCK_WIDTH ,
      GV_GUI_CONFIG_DOCK_HEIGHT ,
      GV_GUI_CONFIG_PORT_WIDTH ,
      GV_GUI_CONFIG_PORT_HEIGHT ,
      GV_GUI_CONFIG_PAN_WIDTH ,
      GV_GUI_CONFIG_PAN_HEIGHT ,
      GV_GUI_CONFIG_ZOOM_WIDTH ,
      GV_GUI_CONFIG_ZOOM_HEIGHT ,
      GV_GUI_CONFIG_PORT_SPACE ,
      GV_GUI_CONFIG_HEAD_HEIGHT ,
      GV_GUI_CONFIG_FOOT_HEIGHT ,
      GV_GUI_CONFIG_CONNECTION_SELECT_DISTANCE ,
      GV_GUI_CONFIG_ADDITIONAL_FRAME_SELECT_DISTANCE ,
      GV_GUI_CONFIG_ADDITIONAL_PORT_LABEL_SPACE ,
      GV_GUI_CONFIG_LINE_SPACE ,
      GV_GUI_CONFIG_TEXT_COLOR ,
      GV_GUI_CONFIG_HEAD_NORMAL_COLOR ,
      GV_GUI_CONFIG_HEAD_ERROR_COLOR ,
      GV_GUI_CONFIG_FOOT_COLOR ,
      GV_GUI_CONFIG_BODY_COLOR ,
      GV_GUI_CONFIG_GRID_COLOR ,
      GV_GUI_CONFIG_INPORT_AREA_COLOR ,
      GV_GUI_CONFIG_OUTPORT_AREA_COLOR ,
      GV_GUI_CONFIG_INPORT_COLOR ,
      GV_GUI_CONFIG_OUTPORT_COLOR ,
      GV_GUI_CONFIG_INDOCK_COLOR ,
      GV_GUI_CONFIG_OUTDOCK_COLOR ,
      GV_GUI_CONFIG_PAN_COLOR ,
      GV_GUI_CONFIG_ZOOM_COLOR ,
      GV_GUI_CONFIG_SELECTBOX_COLOR ,
      GV_GUI_CONFIG_BORDER_NORMAL_COLOR ,
      GV_GUI_CONFIG_BORDER_SELECTED_COLOR ,
      GV_GUI_CONFIG_INPORTLABEL_COLOR ,
      GV_GUI_CONFIG_OUTPORTLABEL_COLOR ,
      GV_GUI_CONFIG_INPORTLABEL_BORDER_COLOR ,
      GV_GUI_CONFIG_OUTPORTLABEL_BORDER_COLOR ,
      GV_GUI_CONFIG_CONNECTION_NORMAL_COLOR ,
      GV_GUI_CONFIG_CONNECTION_TEMP_COLOR ,
      GV_GUI_CONFIG_CONNECTION_VALID_COLOR ,
      GV_GUI_CONFIG_CONNECTION_DISABLED_COLOR ,
      GV_GUI_CONFIG_CONNECTION_FORBIDDEN_COLOR ,
      GV_GUI_CONFIG_CONNECTION_SELECTED_COLOR ,
      GV_GUI_CONFIG_CONNECTION_IN_FOCUS_COLOR ,
      GV_GUI_CONFIG_PORTS_SQUARE ,
      GV_GUI_CONFIG_BORDER_NORMAL_DISABLED_COLOR ,
      GV_GUI_CONFIG_BORDER_SELECTED_DISABLED_COLOR ,
      GV_GUI_CONFIG_SORT_MENUS ,
      GV_GUI_CONFIG_SORT_PORTS ,
      GV_GUI_CONFIG_NR_OF_ENTRIES
    }
     
    enum  GvMasterConfigIDs {
      GV_MASTER_CONFIG_LIVE_REFRESH ,
      GV_MASTER_CONFIG_ANIM_REFRESH ,
      GV_MASTER_CONFIG_PERFORMANCEVIEW_ENABLE ,
      GV_MASTER_CONFIG_PERFORMANCEVIEW_MODE ,
      GV_MASTER_CONFIG_PERFORMANCEVIEW_INTENSITY_COUNT ,
      GV_MASTER_CONFIG_PERFORMANCEVIEW_INTENSITY_TIME
    }
     
    enum  GvWorldConfigIDs { GV_WORLD_CONFIG_UNDO_DEPTH }
     
    enum  GvCalcFlags {
      GV_CALC_FLAG_NONE ,
      GV_CALC_FLAG_READ_ONLY
    }
     
    enum  GvPortDescFlags {
      GV_PORTDESCRIPTION_NONE ,
      GV_PORTDESCRIPTION_MULTIPLE ,
      GV_PORTDESCRIPTION_INVISIBLE ,
      GV_PORTDESCRIPTION_STATIC ,
      GV_PORTDESCRIPTION_FIXED ,
      GV_PORTDESCRIPTION_PORTONLY ,
      GV_PORTDESCRIPTION_NEEDED ,
      GV_PORTDESCRIPTION_ITERATOR
    }
     
    enum  GvPortFlags {
      GV_PORT_FLAG_NONE ,
      GV_PORT_FLAG_IS_VISIBLE ,
      GV_PORT_FLAG_IS_ITERATE
    }
     
    enum  GvOperatorDescriptionFlags { GV_DESCRIPTIONFLAG_NONE }
     
    enum  GvOperatorFlags {
      GV_OPERATORFLAG_NONE ,
      GV_OPERATORFLAG_LOCAL ,
      GV_OPERATORFLAG_MULTIPLE_DRAW ,
      GV_OPERATORFLAG_REFRESH_ON_DELETE ,
      GV_OPERATORFLAG_ITERATOR
    }
     
    enum  GvCalcHookType {
      GV_CALC_HOOK_INIT ,
      GV_CALC_HOOK_BEGIN ,
      GV_CALC_HOOK_END ,
      GV_CALC_HOOK_RECALCULATE_BEGIN ,
      GV_CALC_HOOK_RECALCULATE_END ,
      GV_CALC_HOOK_FREE
    }
     
    enum  GvAnimHookType {
      GV_ANIM_HOOK_INIT ,
      GV_ANIM_HOOK_FREE ,
      GV_ANIM_HOOK_MAIN
    }
     
    enum  GvInsertMode {
      GV_INSERT_UNDER ,
      GV_INSERT_UNDER_LAST ,
      GV_INSERT_BEFORE ,
      GV_INSERT_AFTER ,
      GV_INSERT_NONE
    }
     
    enum  TP_InsertMode {
      TP_INSERT_NONE ,
      TP_INSERT_UNDERFIRST ,
      TP_INSERT_UNDERLAST ,
      TP_INSERT_BEFORE ,
      TP_INSERT_AFTER
    }
     
    enum  TP_GetPGroupMode {
      TP_GETPGROUP_ALL ,
      TP_GETPGROUP_WITHPARTICLES ,
      TP_GETPGROUP_SELECTED
    }
     
    enum  {
      TP_MSG_PGROUP_PREREMOVE ,
      TP_MSG_PGROUP_TREECHANGED ,
      TP_MSG_DCHANNEL_PREREMOVE ,
      TP_MSG_DCHANNEL_CHANGED ,
      TP_MSG_GET_PSHAPEINTERFACE ,
      TP_MSG_GET_COLLISIONINTERFACE ,
      TP_MSG_OBJECT_GETPARTICLES
    }
     
    enum class  ACTIVEOBJECTMODE {
      NONE ,
      OBJECT ,
      TAG ,
      MATERIAL ,
      SHADER ,
      NODE ,
      TIMELINE ,
      FCURVE ,
      BITMAPINFO ,
      TOOL ,
      VIEW ,
      INFOTAB ,
      CAMERA ,
      RENDERDATA ,
      DOCUMENT ,
      MODELING ,
      LAYER ,
      UV ,
      NODEV2 ,
      DUMMY
    }
     
    enum  {
      RM_PROGRESS ,
      RM_FINISHED ,
      RM_STOPPED ,
      RM_ERROR ,
      RM_ERROR2 ,
      RM_PAUSED ,
      RM_QUEUE ,
      RM_PROGRESS_WITH_WARNING ,
      RM_NONE
    }
     
    enum class  CAMORPH_COPY_FLAGS { NONE }
     
    enum class  CAMORPH_MODE_FLAGS {
      COLLAPSE ,
      EXPAND ,
      ALL ,
      NONE
    }
     
    enum class  CAMORPH_MODE {
      ABS ,
      REL ,
      ROT ,
      CORRECTIONAL ,
      CORRECTIONAL_AREA ,
      PSD ,
      AUTO ,
      NONE
    }
     
    enum class  CAMORPH_DATA_FLAGS {
      P ,
      S ,
      R ,
      POINTS ,
      TANGENTS ,
      VERTEXMAPS ,
      WEIGHTMAPS ,
      PARAMS ,
      USERDATA ,
      UV ,
      NORMAL ,
      ASTAG ,
      ALL ,
      NONE
    }
     
    enum class  GE_CM_CLIPREGION {
      EVENODD ,
      WINDING_
    }
     
    enum class  GE_CM_DRAWMODE {
      COPY ,
      BLEND ,
      MASK
    }
     
    enum class  GE_CM_BLIT {
      COPY ,
      COL ,
      FG
    }
     
    enum class  GE_CM_ARCSEGMENT {
      RIGHTTOP ,
      RIGHTBOTTOM ,
      LEFTBOTTOM ,
      LEFTTOP
    }
     
    enum class  GE_CM_FONTSORT {
      FLAT ,
      HIERARCHICAL
    }
     
    enum  GeFontNameType {
      GE_FONT_NAME_DISPLAY ,
      GE_FONT_NAME_FAMILY ,
      GE_FONT_NAME_STYLE ,
      GE_FONT_NAME_POSTSCRIPT
    }
     
    enum  GeFontDefaultType {
      GE_FONT_DEFAULT_SYSTEM ,
      GE_FONT_DEFAULT_MONOSPACED
    }
     
    enum  GeFontSizeType { GE_FONT_SIZE_INTERNAL }
     
    enum class  SWATCH_CATEGORY {
      GLOBAL ,
      DOCUMENT
    }
     
    enum class  CUSTOMDATATAG_MODE {
      VERTEX ,
      POLYVERTEX
    }
     
    enum class  DATETIMEPARSERMODE {
      DATE ,
      TIME
    }
     
    enum  DTYPE {
      DTYPE_NONE ,
      DTYPE_CHILDREN ,
      DTYPE_GROUP ,
      DTYPE_COLOR ,
      DTYPE_SUBCONTAINER ,
      DTYPE_MULTIPLEDATA ,
      DTYPE_TEXTURE ,
      DTYPE_BUTTON ,
      DTYPE_DYNAMIC ,
      DTYPE_SEPARATOR ,
      DTYPE_STATICTEXT ,
      DTYPE_POPUP ,
      DTYPE_LONG ,
      DTYPE_REAL ,
      DTYPE_TIME ,
      DTYPE_VECTOR ,
      DTYPE_MATRIX ,
      DTYPE_STRING ,
      DTYPE_FILENAME ,
      DTYPE_BASELISTLINK ,
      DTYPE_BOOL ,
      DTYPE_NORMAL ,
      DTYPE_COLORA ,
      DTYPE_VECTOR4D ,
      DTYPE_VECTOR2D ,
      DTYPE_
    }
     
    enum  DESC {
      DESC_NAME ,
      DESC_SHORT_NAME ,
      DESC_VERSION ,
      DESC_VERSION_DEMO ,
      DESC_VERSION_XL ,
      DESC_VERSION_ALL ,
      DESC_CHILDREN ,
      DESC_MIN ,
      DESC_MAX ,
      DESC_MINEX ,
      DESC_MAXEX ,
      DESC_STEP ,
      DESC_ANIMATE ,
      DESC_ANIMATE_OFF ,
      DESC_ANIMATE_ON ,
      DESC_ANIMATE_MIX ,
      DESC_ASKOBJECT ,
      DESC_UNIT ,
      DESC_UNIT_FLOAT ,
      DESC_UNIT_INT ,
      DESC_UNIT_PERCENT ,
      DESC_UNIT_DEGREE ,
      DESC_UNIT_METER ,
      DESC_UNIT_TIME ,
      DESC_PARENTGROUP ,
      DESC_CYCLE ,
      DESC_HIDE ,
      DESC_DEFAULT ,
      DESC_ACCEPT ,
      DESC_SEPARATORLINE ,
      DESC_REFUSE ,
      DESC_PARENTID ,
      DESC_CUSTOMGUI ,
      DESC_COLUMNS ,
      DESC_LAYOUTGROUP ,
      DESC_REMOVEABLE ,
      DESC_GUIOPEN ,
      DESC_EDITABLE ,
      DESC_MINSLIDER ,
      DESC_MAXSLIDER ,
      DESC_GROUPSCALEV ,
      DESC_SCALEH ,
      DESC_LAYOUTVERSION ,
      DESC_ALIGNLEFT ,
      DESC_FITH ,
      DESC_NEWLINE ,
      DESC_TITLEBAR ,
      DESC_CYCLEICONS ,
      DESC_CYCLESYMBOLS ,
      DESC_PARENT_COLLAPSE ,
      DESC_FORBID_INLINE_FOLDING ,
      DESC_FORBID_SCALING ,
      DESC_ANGULAR_XYZ ,
      DESC_FORBID_COLOR_CONVERSION ,
      DESC_INPORT ,
      DESC_OUTPORT ,
      DESC_STATICPORT ,
      DESC_NEEDCONNECTION ,
      DESC_MULTIPLE ,
      DESC_PORTONLY ,
      DESC_CREATEPORT ,
      DESC_PORTSMIN ,
      DESC_PORTSMAX ,
      DESC_NOTMOVABLE ,
      DESC_EDITPORT ,
      DESC_ITERATOR ,
      DESC_PARENTMSG ,
      DESC_MATEDNOTEXT ,
      DESC_COLUMNSMATED ,
      DESC_SHADERLINKFLAG ,
      DESC_NOGUISWITCH ,
      DESC_COLORALWAYSLINEAR ,
      DESC_HIDE_WHEN_INLINE ,
      DESC_MATERIALEDITOR_LEFTSIDE ,
      DESC_CHANGED ,
      DESC_HIDEINFIELDS ,
      DESC_SHOWINFIELDS ,
      DESC_FIELDCOLORCHANNEL ,
      DESC_FIELDDIRECTIONCHANNEL ,
      DESC_FIELDVALUECHANNEL ,
      DESC_FIELDROTATIONCHANNEL ,
      DESC_NODEPORT ,
      DESC_NODEPORTSTATE ,
      DESC_REPLACECOMPLEXUI ,
      DESC_REPLACE_HIDE ,
      DESC_RESOURCEPATH ,
      DESC_RESOURCELINE ,
      DESC_TEMPDESCID ,
      DESC_IDENT ,
      DESC_IDENT_ORIGIN ,
      DESC_DISABLELAYOUTSWITCH ,
      DESC_UNIMPORTANTFORDEFAULTS ,
      DESC_BUTTON_STYLE ,
      DESC_BUTTON_STYLE_NORMAL ,
      DESC_BUTTON_STYLE_EMPHASIZED ,
      DESC_BUTTON_STYLE_DIMMED ,
      DESC_COLOR_AS_UI_COLOR ,
      DESC_
    }
     
    enum  {
      COLORA_R ,
      COLORA_G ,
      COLORA_B ,
      COLORA_A
    }
     
    enum  {
      VECTOR4D_X ,
      VECTOR4D_Y ,
      VECTOR4D_Z ,
      VECTOR4D_W
    }
     
    enum  {
      VECTOR_X ,
      VECTOR_Y ,
      VECTOR_Z
    }
     
    enum  {
      COLOR_R ,
      COLOR_G ,
      COLOR_B
    }
     
    enum  CurveTypeEnum {
      CurveTypeNURBS ,
      CurveTypePolynom ,
      CurveTypeLine ,
      CurveTypeCircular ,
      CurveTypeConic ,
      CurveTypeComposite ,
      CurveTypeCount
    }
     
    enum  SurfaceTypeEnum {
      SurfaceTypeNURBS ,
      SurfaceTypePolynom ,
      SurfaceTypePlane ,
      SurfaceTypeExtrude ,
      SurfaceTypeRotate ,
      SurfaceTypeCount
    }
     
    enum  MappedCurveTypeEnum {
      MappedCurveTypeStandard ,
      MappedCurveTypeSegment ,
      MappedCurveTypeCount
    }
     
    enum  TrimmedSurfaceTypeEnum {
      TrimmedSurfaceTypeStandard ,
      TrimmedSurfaceTypeCount
    }
     
    enum  LineCurveTypeEnum {
      LineCurveTypeBounded ,
      LineCurveTypeSemibounded ,
      LineCurveTypeUnbounded ,
      LineCurveTypeCount
    }
     
    enum  ConicCurveTypeEnum {
      ConicCurveTypeDeprecated ,
      ConicCurveTypeEllipse ,
      ConicCurveTypeHyperbola ,
      ConicCurveTypeParabola ,
      ConicCurveTypeCount
    }
     
    enum  ConicTypeEnum {
      ConicTypeCircle ,
      ConicEllipse ,
      ConicHyperbola ,
      ConicParabola ,
      ConicIntersecting ,
      ConicCoincident ,
      ConicParallel ,
      ConicUndefined ,
      ConicTypeCount
    }
     
    enum  PlaneSurfaceTypeEnum {
      PlaneSurfaceTypeBounded ,
      PlaneSurfaceTypeUnbounded ,
      PlaneSurfaceTypeCount
    }
     
    enum  ManagerType {
      SB_MANAGER ,
      TL_MANAGER ,
      MAT_MANAGER ,
      DUM_MANAGER
    }
     
    enum  ManagerNum {
      MANAGER_NOTOK ,
      MANAGER_1 ,
      MANAGER_2 ,
      MANAGER_3 ,
      MANAGER_4 ,
      DUM_MANNI ,
      MANAGER_X
    }
     
    enum class  HAIR_MSG_DATA_FLAG {
      TEXTURETAG ,
      NONE
    }
     
    enum class  HAIR_MSG_DATA_TYPE {
      GETMATERIAL ,
      ADDOBJECT ,
      INIT ,
      INITRENDER ,
      FREERENDER ,
      NONE
    }
     
    enum class  ICONFLAG {
      NONE ,
      COPY ,
      OVERWRITE ,
      DOUBLESIZE
    }
     
    enum class  INTERSECTTYPE { BVH }
     
    enum  LayerType {
      TypeUnknown ,
      TypeFolder ,
      TypeShader ,
      TypeBrightnessContrast ,
      TypeHSL ,
      TypePosterize ,
      TypeColorize ,
      TypeClamp ,
      TypeClip ,
      TypeDistorter ,
      TypeTransform
    }
     
    enum  LayerFlags {
      LAYER_INVERT ,
      LAYER_ALPHA ,
      LAYER_INVERT_ALPHA ,
      LAYER_IMAGE_ALPHA
    }
     
    enum  BlendMode {
      BlendNormal ,
      BlendMultiply ,
      BlendScreen ,
      BlendOverlay ,
      BlendHardLight ,
      BlendSoftLight ,
      BlendDodge ,
      BlendBurn ,
      BlendDarken ,
      BlendLighten ,
      BlendAdd ,
      BlendSubtract ,
      BlendDifference ,
      BlendExclusion ,
      BlendHue ,
      BlendSat ,
      BlendColor ,
      BlendLuminance ,
      BlendLevr ,
      BlendAlphaMask
    }
     
    enum  Mt2dTrackStatus {
      INVALID_TRACK ,
      UNTRACKED ,
      TRACKED_VALID ,
      TRACKED_STALE
    }
     
    enum class  TASKSTATE {
      NEW ,
      ASSIGNED ,
      TRANSFERED ,
      ASSEMBLED ,
      SKIPPED
    }
     
    enum  NoiseType {
      NOISE_UNKNOWN ,
      NOISE_BOX_NOISE ,
      NOISE_BLIST_TURB ,
      NOISE_BUYA ,
      NOISE_CELL_NOISE ,
      NOISE_CRANAL ,
      NOISE_DENTS ,
      NOISE_DISPL_TURB ,
      NOISE_FBM ,
      NOISE_HAMA ,
      NOISE_LUKA ,
      NOISE_MOD_NOISE ,
      NOISE_NAKI ,
      NOISE_NOISE ,
      NOISE_NUTOUS ,
      NOISE_OBER ,
      NOISE_PEZO ,
      NOISE_POXO ,
      NOISE_RANDOM ,
      NOISE_SEMA ,
      NOISE_STUPL ,
      NOISE_TURBULENCE ,
      NOISE_VL_NOISE ,
      NOISE_WAVY_TURB ,
      NOISE_CELL_VORONOI ,
      NOISE_DISPL_VORONOI ,
      NOISE_SPARSE_CONV ,
      NOISE_VORONOI_1 ,
      NOISE_VORONOI_2 ,
      NOISE_VORONOI_3 ,
      NOISE_ZADA ,
      NOISE_FIRE ,
      NOISE_ELECTRIC ,
      NOISE_GASEOUS ,
      NOISE_NONE
    }
     
    enum class  REGPARSEMODE {
      MATCH ,
      CONTAINS ,
      STARTS ,
      ENDS
    }
     
    enum class  SCULPTBRUSHID {
      SMOOTH ,
      PULL ,
      FLATTEN ,
      PINCH ,
      ERASE ,
      GRAB ,
      MASK ,
      KNIFE ,
      WAX ,
      INFLATE ,
      FILL ,
      SCRAPE ,
      REPEAT ,
      AMPLIFY ,
      SELECT
    }
     
    enum class  FIRSTHITPPOINTTYPE {
      SELECTED ,
      AVERAGE
    }
     
    enum class  SCULPTBRUSHMODE {
      NORMAL ,
      GRAB
    }
     
    enum class  SCULPTBRUSHDATATYPE {
      NONE ,
      POINT ,
      MASK ,
      COLOR ,
      DIRTYPOINTS
    }
     
    enum class  OVERRIDE {
      NONE ,
      INVERT ,
      SMOOTH ,
      SMOOTHTOOL
    }
     
    enum class  SAMPLEMODE { TAKEONEPIXEL }
     
    enum class  SCULPTOFFSETFLAGS {
      NONE ,
      RESPECTSTRENGTH ,
      IGNOREMASK
    }
     
    enum class  SUBSTANCE_MATERIAL_MODE {
      STANDARD ,
      METALLIC ,
      GLOSSY ,
      AUTO ,
      NONE
    }
     
    enum class  SUBSTANCE_IMPORT_RESULT {
      SUCCESS ,
      DOESNOTEXIST ,
      NOTANASSET ,
      UNKNOWNERROR
    }
     
    enum class  SUBSTANCE_IMPORT_COPY {
      YES ,
      NO ,
      ASK
    }
     
    enum class  SUBSTANCE_INPUT_TYPE {
      INTEGER ,
      INTEGER_2 ,
      INTEGER_3 ,
      INTEGER_4 ,
      BOOL ,
      FLOAT ,
      FLOAT_2 ,
      FLOAT_3 ,
      FLOAT_4 ,
      IMAGE ,
      STRING ,
      COLOR_RGB ,
      COLOR_RGBA ,
      RESOLUTION
    }
     
    enum class  SUBSTANCE_OUTPUT_TYPE {
      DIFFUSE ,
      BASECOLOR ,
      OPACITY ,
      EMISSIVE ,
      AMBIENT ,
      AMBIENTOCCLUSION ,
      MASK ,
      NORMAL ,
      BUMP ,
      HEIGHT ,
      DISPLACEMENT ,
      SPECULAR ,
      SPECULARLEVEL ,
      SPECULARCOLOR ,
      GLOSSINESS ,
      ROUGHNESS ,
      ANISOTROPYLEVEL ,
      ANISOTROPYANGLE ,
      TRANSMISSIVE ,
      REFLECTION ,
      REFRACTION ,
      ENVIRONMENT ,
      IOR ,
      SCATTERING0 ,
      SCATTERING1 ,
      SCATTERING2 ,
      SCATTERING3 ,
      METALLIC ,
      ANY ,
      UNKNOWN ,
      INTERNAL_COUNT
    }
     
    enum class  TAKE_MODE {
      MANUAL ,
      AUTO
    }
     
    enum class  OVERRIDEENABLING {
      NONE ,
      OBJECT ,
      TAG ,
      MATERIAL ,
      SHADER ,
      LAYER ,
      OTHER ,
      GLOBAL ,
      ENABLING ,
      TRANSFOM ,
      CAMERA ,
      RS ,
      PARAM
    }
     
    enum class  MIXVECTORTYPE {
      NONE ,
      NORMAL ,
      ADD ,
      SUBTRACT ,
      CROSS
    }
     
    enum  ZipMethod {
      ZipMethodDeflate ,
      ZipMethodStore
    }
     
    enum class  MTBODYPARTTRANSFERATTRIBUTEMODE : Int32 {
      BYID ,
      BYNAME ,
      BOTH
    }
     
    enum class  HANDLECONSTRAINTTYPE {
      INVALID ,
      LINEAR ,
      PLANAR ,
      FREE ,
      RADIAL ,
      SPHERICAL
    }
     
    enum class  INITRENDERFLAG {
      NONE ,
      TEXTURES ,
      PAINTERNOMIP ,
      NOMIP ,
      PREVIEWRENDER ,
      IRR
    }
     
    enum class  SNAPPRIORITY {
      NONE ,
      PLANE ,
      GUIDE ,
      EDGE ,
      POINT
    }
     
    enum class  SNAPFLAGS {
      NONE ,
      IGNORE_SELECTED ,
      IGNORE_AXIS ,
      POINTSONLY ,
      SURFACEONLY
    }
     
    enum class  INFERREDGUIDETYPE {
      POINT ,
      LINE ,
      PLANE
    }
     
    enum class  VERTEXCOLOR_DISPLAYMODE {
      NONE ,
      COLOR ,
      ALPHA
    }
     
    enum  {
      PENPRESSURE ,
      PENTILT ,
      PENROTATION ,
      PENDRAWROTATION ,
      PENDRAWRANDOMNESS ,
      PENDRAWWHEELROTATION ,
      PENDRAWWHEELPRESSURE ,
      PENDRAWDISTANCE ,
      PENFINGERWHEEL
    }
     
    enum  BakeTexEnums {
      BAKE_TEX_USE_CAMERA_VECTOR ,
      BAKE_TEX_USE_POLYSELECTION ,
      BAKE_TEX_AMBIENT_OCCLUSION ,
      BAKE_TEX_NORMAL ,
      BAKE_TEX_SURFACECOLOR ,
      BAKE_TEX_COLOR ,
      BAKE_TEX_DIFFUSION ,
      BAKE_TEX_LUMINANCE ,
      BAKE_TEX_ALPHA ,
      BAKE_TEX_ILLUMINATION ,
      BAKE_TEX_SHADOWS ,
      BAKE_TEX_BUMP ,
      BAKE_TEX_TRANSPARENCY ,
      BAKE_TEX_UVMAP ,
      BAKE_TEX_REFLECTION ,
      BAKE_TEX_DISPLACEMENT ,
      BAKE_TEX_WIDTH ,
      BAKE_TEX_HEIGHT ,
      BAKE_TEX_PIXELBORDER ,
      BAKE_TEX_FILL_COLOR ,
      BAKE_TEX_UV_LEFT ,
      BAKE_TEX_UV_RIGHT ,
      BAKE_TEX_UV_TOP ,
      BAKE_TEX_UV_BOTTOM ,
      BAKE_TEX_SUPERSAMPLING ,
      BAKE_TEX_USE_BUMP ,
      BAKE_TEX_NO_GI ,
      BAKE_TEX_CONTINUE_UV ,
      BAKE_TEX_USE_PHONG_TAG ,
      BAKE_TEX_COLORPROFILE ,
      BAKE_TEX_SHOW_STATUS ,
      BAKE_TEX_PROGRESS_BITMAP ,
      BAKE_TEX_GENERATE_UNDO ,
      BAKE_TEX_PREVIEW ,
      BAKE_TEX_COLOR_ILLUM ,
      BAKE_TEX_COLOR_SHADOWS ,
      BAKE_TEX_COLOR_LUMINANCE ,
      BAKE_TEX_COLOR_DIFFUSION ,
      BAKE_TEX_LUMINANCE_DIFFUSION ,
      BAKE_TEX_ILLUMINATION_SHADOWS ,
      BAKE_TEX_NORMAL_METHOD ,
      BAKE_TEX_NORMAL_METHOD_OBJECT ,
      BAKE_TEX_NORMAL_METHOD_TANGENT ,
      BAKE_TEX_NORMAL_METHOD_WORLD ,
      BAKE_TEX_NORMAL_FLIP_X ,
      BAKE_TEX_NORMAL_FLIP_Y ,
      BAKE_TEX_NORMAL_FLIP_Z ,
      BAKE_TEX_NORMAL_SWAP_YZ ,
      BAKE_TEX_NORMAL_SOURCE ,
      BAKE_TEX_NORMAL_USE_RAYCAST ,
      BAKE_TEX_SURFACE_ILLUMINATION ,
      BAKE_TEX_AO_VERTEX_MAP ,
      BAKE_TEX_AO_SELFINTERSECTION ,
      BAKE_TEX_AO_VERTEXMAPS ,
      BAKE_TEX_DISPLACEMENT_SOURCE ,
      BAKE_TEX_DISPLACEMENT_HEIGHT ,
      BAKE_TEX_DISPLACEMENT_METHOD ,
      BAKE_TEX_DISPLACEMENT_METHOD_OBJECT ,
      BAKE_TEX_DISPLACEMENT_METHOD_WORLD ,
      BAKE_TEX_DISPLACEMENT_METHOD_TANGENT ,
      BAKE_TEX_DISPLACEMENT_METHOD_INTENSITY ,
      BAKE_TEX_DISPLACEMENT_METHOD_CENTEREDINTENSITY ,
      BAKE_TEX_DISPLACEMENT_METHOD_REDGREEN ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_SUBDIVISION ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_ROUND ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_ROUNDCONTOUR ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_HQREMAPPING ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_MAPRESULT ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_KEEPEDGES ,
      BAKE_TEX_DISPLACEMENT_SUBPOLY_DISTRIBUTION ,
      BAKE_TEX_RAYCAST_USE_MAX_DISTANCE ,
      BAKE_TEX_RAYCAST_CUSTOM_MAX_DISTANCE ,
      BAKE_TEX_RAYCAST_USE_AUTO_SPIKE_FILTER_THRESHOLD ,
      BAKE_TEX_RAYCAST_CUSTOM_SPIKE_FILTER_THRESHOLD ,
      BAKE_TEX_OPTIMAL_MAPPING ,
      BAKE_TEX_OPTIMAL_MAPPING_OFF ,
      BAKE_TEX_OPTIMAL_MAPPING_CUBIC ,
      BAKE_TEX_OPTIMAL_MAPPING_ANGLE ,
      BAKE_TEX_OPTIMAL_MAPPING_PACKED ,
      BAKE_TEX_OPTIMAL_MAPPING_RELAXCOUNT ,
      BAKE_TEX_OPTIMAL_MAPPING_PREVIEW ,
      BAKE_TEX_NO_INIT_BITMAP ,
      BAKE_TEX_AUTO_SIZE ,
      BAKE_TEX_AUTO_SIZE_MIN ,
      BAKE_TEX_AUTO_SIZE_MAX ,
      BAKE_TEX_AUTO_PIXEL_SIZE ,
      BAKE_TEX_STATUSBAR ,
      BAKE_TEX_DUMMY
    }
     
    enum class  BAKE_STATE {
      NONE ,
      PREPARE ,
      GI_PREPASS ,
      FILL_IMAGE ,
      COMPLETE ,
      INITIALIZE ,
      RESIZENOTIFY
    }
     
    enum class  VIDEOPOSTCALL {
      FRAMESEQUENCE ,
      FRAME ,
      SUBFRAME ,
      RENDER ,
      INNER ,
      TILE
    }
     
    enum  _DONTCONSTRUCT { DC }
     
    enum  _EMPTYCONSTRUCT { EC }
     
    enum class  LINESTYLE {
      NORMAL ,
      DOTTED ,
      DASHED ,
      DASHED_INV ,
      DASHED_BIG
    }
     
    enum class  SERVERMESSAGE {
      NONE ,
      WARNING ,
      ERROR_ ,
      INFO
    }
     
    enum class  RENDERJOBLIST {
      INACTIVE ,
      ACTIVE ,
      LOAD ,
      ALL
    }
     
    enum class  MESSAGERESULT {
      OK ,
      NETWORKERROR ,
      UNKNOWNERROR ,
      MEMORYERROR
    }
     
    enum class  MACHINELIST {
      ONLINE ,
      OFFLINE ,
      ALL
    }
     
    enum class  VERIFICATIONBIT {
      NONE ,
      ONLINE ,
      VERIFIED ,
      VERIFIEDME ,
      SHARED ,
      VERIFYING ,
      FAILURE ,
      SECURITYTOKENCHANGED ,
      WRONGBUILDID ,
      WRONGARCHITECTURE ,
      NOTREACHABLE ,
      NOANSWER ,
      WRONGSECURITYTOKEN ,
      DEMONOTACTIVATED ,
      REMOVING ,
      NORENDERSUPPORT ,
      INITIALIZING ,
      VERIFICATIONESTABLISHED
    }
     
    enum class  RENDERJOBCREATOR {
      BATCHRENDER ,
      PICTUREVIEWER ,
      USER ,
      WATCHDIRECTORY ,
      WATCHDIRECTORYSTARTUP ,
      OTHER
    }
     
    enum class  DETAILSELECTOR {
      NONE ,
      SELECTED ,
      NONSELECTED
    }
     
    enum class  STATUSNETSTATE {
      NONE ,
      DISABLE ,
      IDLE ,
      BUSY ,
      BUSY2 ,
      CRITICAL
    }
     
    enum class  HOTKEYFLAGS {
      NONE ,
      MOUSE ,
      KEYBOARD
    }
     
    enum class  ASSETDATA_FLAG {
      NONE ,
      CURRENTFRAMEONLY ,
      TEXTURESONLY ,
      NET ,
      CURRENTTAKEONLY ,
      WITHCACHES ,
      NOSUBSTANCES ,
      MULTIPLEUSE ,
      NOMISSING ,
      NODOCUMENT ,
      COLLECT_NODES_ASSETS ,
      DONOTRESOLVE ,
      WITHFONTS
    }
     
    enum class  SAVEBIT {
      NONE ,
      ALPHA ,
      MULTILAYER ,
      USESELECTEDLAYERS ,
      USE16BITCHANNELS ,
      GREYSCALE ,
      INTERNALNET ,
      DONTMERGE ,
      USE32BITCHANNELS ,
      SAVERENDERRESULT ,
      FIRSTALPHA_ONLY ,
      KEEP_COLOR_MODE
    }
     
    enum class  SCENEFILTER {
      NONE ,
      OBJECTS ,
      MATERIALS ,
      DIALOGSALLOWED ,
      PROGRESSALLOWED ,
      MERGESCENE ,
      NONEWMARKERS ,
      SAVECACHES ,
      NOUNDO ,
      SAVE_BINARYCACHE ,
      IDENTIFY_ONLY ,
      ONLY_RENDERDATA ,
      IGNOREMISSINGPLUGINSINNONACTIVERENDERDATA ,
      IGNOREXREFS ,
      DONTCORRECTOUTPUTFORMAT ,
      SKIPOLDERTHANV13 ,
      PREVIEWONLY ,
      DOCUMENTPREFSONLY ,
      DOCUMENTINFOGUIALLOWED ,
      LOGUSAGE ,
      SUPPRESSOPTIONSDIALOG
    }
     
    enum class  OVERVIEW {
      DEFAULT ,
      AKTU ,
      SCENE ,
      COMPLETE ,
      SELECTED
    }
     
    enum class  GEMB {
      OK ,
      OKCANCEL ,
      ABORTRETRYIGNORE ,
      YESNOCANCEL ,
      YESNO ,
      RETRYCANCEL ,
      FORCEDIALOG ,
      ICONSTOP ,
      ICONQUESTION ,
      ICONEXCLAMATION ,
      ICONASTERISK ,
      DEFBUTTON1 ,
      DEFBUTTON2 ,
      DEFBUTTON3 ,
      DEFBUTTON4 ,
      MULTILINE
    }
     
    enum class  GEMB_R {
      V_UNDEFINED ,
      V_OK ,
      V_CANCEL ,
      V_ABORT ,
      V_RETRY ,
      V_IGNORE ,
      V_YES ,
      V_NO
    }
     
    enum class  MOUSEDRAGRESULT {
      ESCAPE ,
      FINISHED ,
      CONTINUE
    }
     
    enum class  MOUSEDRAGFLAGS {
      NONE ,
      DONTHIDEMOUSE ,
      NOMOVE ,
      EVERYPACKET ,
      COMPENSATEVIEWPORTORG ,
      AIRBRUSH
    }
     
    enum class  INITRENDERRESULT {
      OK ,
      OUTOFMEMORY ,
      ASSETMISSING ,
      UNKNOWNERROR ,
      USERBREAK
    }
     
    enum class  RENDERRESULT {
      OK ,
      OUTOFMEMORY ,
      ASSETMISSING ,
      SAVINGFAILED ,
      USERBREAK ,
      GICACHEMISSING ,
      NOMACHINE ,
      UNAVAILABLE ,
      FAILED ,
      PROJECTNOTFOUND ,
      ERRORLOADINGPROJECT ,
      NOOUTPUTSPECIFIED
    }
     
    enum class  COLORMODE {
      ILLEGAL ,
      ALPHA ,
      GRAY ,
      AGRAY ,
      RGB ,
      ARGB ,
      CMYK ,
      ACMYK ,
      MASK ,
      AMASK ,
      ILLEGALw ,
      GRAYw ,
      AGRAYw ,
      RGBw ,
      ARGBw ,
      MASKw ,
      ILLEGALf ,
      GRAYf ,
      AGRAYf ,
      RGBf ,
      ARGBf ,
      MASKf
    }
     
    enum class  COLORSPACETRANSFORMATION {
      NONE ,
      LINEAR_TO_SRGB ,
      SRGB_TO_LINEAR ,
      LINEAR_TO_VIEW ,
      SRGB_TO_VIEW ,
      OCIO_INPUT_LOW_TO_RENDERING ,
      OCIO_RENDERING_TO_INPUT_LOW ,
      OCIO_RENDERING_TO_VIEW ,
      OCIO_INPUT_LOW_TO_VIEW ,
      OCIO_VIEW_TO_RENDERING ,
      OCIO_VIEW_TO_INPUT_LOW ,
      OCIO_INPUT_HIGH_TO_RENDERING ,
      OCIO_RENDERING_TO_DISPLAY ,
      OCIO_DISPLAY_TO_RENDERING ,
      OCIO_SRGB_TO_RENDERING ,
      OCIO_RENDERING_TO_SRGB ,
      OCIO_LINEAR_TO_RENDERING ,
      OCIO_RENDERING_TO_LINEAR
    }
     
    enum class  VIEW_WINDOW_COLOR_SPACE : Int32 {
      UNDEFINED ,
      LINEAR ,
      SRGB
    }
     
    enum class  PIXELCNT {
      NONE ,
      DITHERING ,
      B3DLAYERS ,
      APPLYALPHA ,
      INTERNAL_SETLINE ,
      INTERNAL_ALPHAVALUE ,
      ALLOW_INVALIDATE_ALPHA
    }
     
    enum class  INITBITMAPFLAGS {
      NONE ,
      GRAYSCALE ,
      SYSTEM ,
      DPNULL
    }
     
    enum class  MPB_GETLAYERS {
      NONE ,
      ALPHA ,
      IMAGE
    }
     
    enum class  MPBTYPE {
      SHOW ,
      SAVE ,
      PERCENT ,
      BLENDMODE ,
      COLORMODE ,
      BITMAPTYPE ,
      NAME ,
      DPI ,
      USERID ,
      USERSUBID ,
      FORCEBLEND
    }
     
    enum class  LENGTHUNIT {
      PIXEL ,
      KM ,
      M ,
      CM ,
      MM ,
      UM ,
      NM ,
      MILE ,
      YARD ,
      FEET ,
      INCH
    }
     
    enum class  SPLINETYPE {
      LINEAR ,
      CUBIC ,
      AKIMA ,
      BSPLINE ,
      BEZIER ,
      RESERVEDSPLINETYPE1 ,
      RESERVEDSPLINETYPE2
    }
     
    enum class  BREAKTANGENTS {
      V_FALSE ,
      V_TRUE ,
      V_AUTO
    }
     
    enum class  TANGENTSIDE {
      NONE ,
      LEFT ,
      RIGHT
    }
     
    enum class  TANGENTTRANSFORMFLAG {
      NONE ,
      LOCK_LENGTH ,
      LOCK_ANGLE ,
      BREAK_SCALE ,
      BREAK
    }
     
    enum class  SPLINEBOOL_AXIS {
      NONE ,
      SCREEN ,
      ZY ,
      XZ ,
      XY
    }
     
    enum class  SPLINEBOOL_MODE {
      AMINUSB ,
      BMINUSA ,
      UNION ,
      AND ,
      OR ,
      INTERSECTION
    }
     
    enum class  PARTICLEFLAGS {
      NONE ,
      VISIBLE ,
      ALIVE
    }
     
    enum class  NBIT {
      NONE ,
      TL1_FOLD ,
      TL2_FOLD ,
      TL3_FOLD ,
      TL4_FOLD ,
      TL1_SELECT ,
      TL2_SELECT ,
      TL3_SELECT ,
      TL4_SELECT ,
      TL1_TDRAW ,
      TL2_TDRAW ,
      TL3_TDRAW ,
      TL4_TDRAW ,
      CKEY_ACTIVE ,
      OM1_FOLD ,
      OM2_FOLD ,
      OM3_FOLD ,
      OM4_FOLD ,
      TL1_FOLDTR ,
      TL2_FOLDTR ,
      TL3_FOLDTR ,
      TL4_FOLDTR ,
      TL1_FOLDFC ,
      TL2_FOLDFC ,
      TL3_FOLDFC ,
      TL4_FOLDFC ,
      SOURCEOPEN ,
      TL1_HIDE ,
      TL2_HIDE ,
      TL3_HIDE ,
      TL4_HIDE ,
      SOLO_ANIM ,
      SOLO_LAYER ,
      TL1_SELECT2 ,
      TL2_SELECT2 ,
      TL3_SELECT2 ,
      TL4_SELECT2 ,
      SOLO_MOTION ,
      CKEY_LOCK_T ,
      CKEY_LOCK_V ,
      CKEY_MUTE ,
      CKEY_CLAMP ,
      CKEY_BREAK ,
      CKEY_KEEPVISUALANGLE ,
      CKEY_LOCK_O ,
      CKEY_LOCK_L ,
      CKEY_AUTO ,
      CKEY_ZERO_O_OLD ,
      CKEY_ZERO_L_OLD ,
      TL1_FCSELECT ,
      TL2_FCSELECT ,
      TL3_FCSELECT ,
      TL4_FCSELECT ,
      CKEY_BREAKDOWN ,
      TL1_FOLDMOTION ,
      TL2_FOLDMOTION ,
      TL3_FOLDMOTION ,
      TL4_FOLDMOTION ,
      TL1_SELECTMOTION ,
      TL2_SELECTMOTION ,
      TL3_SELECTMOTION ,
      TL4_SELECTMOTION ,
      OHIDE ,
      TL_TBAKE ,
      TL1_FOLDSM ,
      TL2_FOLDSM ,
      TL3_FOLDSM ,
      TL4_FOLDSM ,
      SUBOBJECT ,
      LINK_ACTIVE ,
      THIDE ,
      SUBOBJECT_AM ,
      PROTECTION ,
      NOANIM ,
      NOSELECT ,
      EHIDE ,
      REF ,
      REF_NO_DD ,
      REF_OHIDE ,
      NO_DD ,
      HIDEEXCEPTVIEWSELECT ,
      CKEY_WEIGHTEDTANGENT ,
      CKEY_REMOVEOVERSHOOT ,
      CKEY_AUTOWEIGHT ,
      TAKE_LOCK ,
      TAKE_OBJINGROUP ,
      TAKE_EGROUPOVERIDDEN ,
      TAKE_RGROUPOVERIDDEN ,
      CKEY_BREAKDOWNCOLOR ,
      NO_DELETE ,
      LOD_HIDE ,
      LOD_PRIVATECACHE ,
      AHIDE_FOR_HOST ,
      NODE_TEMP ,
      FORBID_COLOR_CONVERSION ,
      TAG_ADDEDTOCACHE ,
      TAG_PROXY ,
      TAG_NEUTRON_PROXY ,
      MAX
    }
     
    enum class  CREATEJOBRESULT {
      OK ,
      OUTOFMEMORY ,
      ASSETMISSING ,
      SAVINGFAILED ,
      REPOSITORYERROR
    }
     
    enum class  NBITCONTROL {
      SET ,
      CLEAR ,
      TOGGLE ,
      PRIVATE_NODIRTY
    }
     
    enum class  VOLUMECOMMANDTYPE {
      NONE ,
      VOLUMETOMESH ,
      MESHTOVOLUME ,
      VOLUMEBOOLE ,
      PARTICLESTOVOLUME ,
      SPLINETOVOLUME ,
      FILTER ,
      SDFFILTER ,
      SDFTOFOG ,
      FOGTOSDF ,
      RESAMPLE ,
      MIX ,
      FIELDTOVOLUME ,
      CREATESPHEREVOLUME ,
      CREATEPLATONICVOLUME
    }
     
    enum class  GRIDTYPE {
      NONE ,
      FLOAT ,
      DOUBLE ,
      INT32 ,
      INT64 ,
      INTVECTOR32 ,
      VECTOR32 ,
      VECTOR64 ,
      STRING ,
      BOOLEAN
    }
     
    enum class  GRIDCLASS {
      NONE ,
      SDF ,
      FOG ,
      STAGGERED ,
      UNKNOWN
    }
     
    enum class  VECTORGRIDTYPE {
      INVARIANT ,
      COVARIANT ,
      COVARIANT_NORMALIZE ,
      CONTRAVARIANT_RELATIVE ,
      CONTRAVARIANT_ABSOLUTE
    }
     
    enum class  VOLUMETOMESHSETTINGS {
      NONE ,
      ISO ,
      ADAPTIVE
    }
     
    enum class  MESHTOVOLUMESETTINGS {
      NONE ,
      GRIDSIZE ,
      BANDWIDTH_INTERIOR ,
      BANDWIDTH_EXTERIOR ,
      USE_POINTS ,
      RADIUS ,
      UNSIGNED_DISTANCE_FIELD
    }
     
    enum class  PARTICLESTOVOLUMESETTINGS {
      NONE ,
      GRIDSIZE ,
      BANDWIDTH ,
      RADIUS ,
      VELOCITY_SCALE ,
      USE_PARTICLE_SIZE ,
      PARTICLEOFFSET
    }
     
    enum class  SPLINETOVOLUMESETTINGS {
      NONE ,
      GRIDSIZE ,
      BANDWIDTH ,
      RADIUS ,
      DENSITY ,
      SCALESEGMENT
    }
     
    enum class  FILTERSETTINGS {
      NONE ,
      FILTERTYPE ,
      ITERATIONS ,
      RADIUS ,
      OFFSET ,
      FALLOFF ,
      REMAP_OLD_MIN ,
      REMAP_OLD_MAX ,
      REMAP_NEW_MIN ,
      REMAP_NEW_MAX ,
      STRENGTH ,
      SPLINE ,
      INVERTPOINT
    }
     
    enum class  SDFFILTERSETTINGS {
      NONE ,
      FILTERTYPE ,
      ITERATIONS ,
      STENCILWIDTH ,
      FILTERACCURACY ,
      OFFSET ,
      HALFWIDTH ,
      FALLOFF ,
      STRENGTH
    }
     
    enum class  BOOLESETTINGS {
      NONE ,
      BOOLETYPE ,
      SMOOTHRADIUS
    }
     
    enum class  BOOLTYPE {
      NONE ,
      UNION ,
      DIFF ,
      INTERSECT
    }
     
    enum class  MIXSETTINGS {
      NONE ,
      MIXTYPE
    }
     
    enum class  MIXTYPE {
      NONE ,
      NORMAL ,
      MAX ,
      MIN ,
      ADD ,
      SUBTRACT ,
      MULTIPLY ,
      DIVIDE
    }
     
    enum class  SDFTOFOGSETTINGS {
      NONE ,
      FALLOFFCUTOFF
    }
     
    enum class  FOGTOSDFSETTINGS {
      NONE ,
      ISO
    }
     
    enum class  RESAMPLESETTINGS {
      NONE ,
      GRIDSIZE ,
      INTERPOLATIONTYPE
    }
     
    enum class  RESAMPLEINTERPOLATIONTYPE {
      NONE ,
      NEAREST ,
      LINEAR ,
      QUADRATIC
    }
     
    enum class  FIELDTOVOLUMESETTINGS {
      NONE ,
      BOUNDINGBOXMIN ,
      BOUNDINGBOXMAX ,
      GRIDSIZE
    }
     
    enum class  CREATESPHEREVOLUMESETTINGS {
      NONE ,
      RADIUS ,
      POSITION ,
      BANDWIDTH ,
      GRIDSIZE
    }
     
    enum class  CREATEPLATONICVOLUMESETTINGS {
      NONE ,
      FACES ,
      SIZE ,
      POSITION ,
      BANDWIDTH ,
      GRIDSIZE
    }
     
    enum  {
      WPREFS_HIGHLIGHT ,
      WPREFS_HIGHLIGHTCURVE ,
      WPREFS_CURSORINDICATOR ,
      WPREFS_MINIMUM_OLD ,
      WPREFS_MINIMUMWIDTH ,
      WPREFS_SHOWLAYERCOL ,
      WPREFS_TRACKCOLOR ,
      WPREFS_TRACKCOLNO ,
      WPREFS_TRACKCOLPRS ,
      WPREFS_TRACKCOLORG ,
      WPREFS_SHOWTRACKSTARTEND ,
      WPREFS_SUMMARY ,
      WPREFS_HLEAUTOVALUE ,
      WPREFS_INTERACTIVEUPDATE ,
      WPREFS_CLIPTRANSITIONIME ,
      WPREFS_KEYSDOPESHEET ,
      WPREFS_KEYSYMBOLS ,
      WPREFS_SHOWBRANCHES ,
      WPREFS_SHOWVECTRACK ,
      WPREFS_KEYFRAMEDOTS ,
      WPREFS_DOTSKILLTRACKS ,
      WPREFS_LINKKEYFCSELECTION ,
      WPREFS_LINKOMSELECTONLY ,
      WPREFS_LINKOMSELECTONLYBUTTAGS ,
      WPREFS_FCLISTVIEW ,
      WPREFS_FCLISTVIEW_HIERARCHICAL
    }
     
    enum  {
      WPREFS_PVMEMORY ,
      WPREFS_PVDRAWBUCKETS ,
      WPREFS_PVHDMEM ,
      WPREFS_PVHDFOLDER ,
      WPREFS_PVHDUNLIMIT
    }
     
    enum  { WPREFS_SCULPTMEMORY }
     
    enum  {
      WPREFS_PHMAXCACHEMEM ,
      WPREFS_PHSYSRESERVEMEM
    }
     
    enum  {
      WPREF_NET_NAME ,
      WPREF_NET_SHARE ,
      WPREF_NET_THREADCUSTOM ,
      WPREF_NET_RENDERTHREADS ,
      WPREF_NET_SECURITYTOKEN ,
      WPREF_NET_ALLOWRESTARTOFC4D ,
      WPREF_NET_SERVICEPORTNUMBER ,
      WPREF_NET_SERVICEREPOSITORYPATH ,
      WPREF_NET_USEBONJOUR ,
      WPREF_NET_USEENCRYPTION ,
      WPREF_NET_HANDLEWARNINGASERROR ,
      WPREF_NET_ABORTRENDERINGONCLIENTERROR ,
      WPREF_NET_PEERTOPEERASSETDISTRIBUTION ,
      WPREF_NET_REQUESTONDEMAND ,
      WPREF_NET_EXCLUDECLIENTONLOADINGERROR ,
      WPREF_NET_RENDERINGTIMEOUT ,
      WPREF_NET_ENABLETEAMRENDER ,
      WPREF_NET_WEBSERVERPORT ,
      WPREF_NET_SHOWBUCKETMACHINECOLOR ,
      WPREF_NET_SHOWNAME ,
      WPREF_NET_SHOWICON ,
      WPREF_NET_SHOWINFO ,
      WPREF_NET_SHOWCHECKBOX ,
      WPREF_NET_SHOWADDRESS ,
      WPREF_NET_MACHINEICONSIZE ,
      WPREF_NET_ENABLERENDERINGTIMEOUT ,
      WPREF_NET_FETCHASSETSALWAYSFROMSERVER ,
      WPREF_NET_ASSETCHUNKSIZE ,
      WPREF_NET_WAKEONLANFOROFFLINEMACHINES ,
      WPREF_NET_KEEPB3DFILESAFTERASSEMBLING ,
      WPREF_NET_USERMANAGEMENTENABLED ,
      WPREF_NET_DOWNLOADASSETINPARTS ,
      WPREF_NET_STOPJOBONSWAPPINGENABLED ,
      WPREF_NET_STOPJOBONSWAPPINGAUTO ,
      WPREF_NET_STOPJOBONSWAPPINGVALUE ,
      WPREF_NET_RESTARTJOBSAFTERUNEXPECTEDSERVERTERMINATION ,
      WPREF_NET_USEDISCOVERY
    }
     
    enum  {
      WPREF_TAKE_BASIC_GROUP ,
      WPREF_TAKE_MAIN_AUTOTAKE ,
      WPREF_TAKE_MANAGER_SHOWFILTER ,
      WPREF_TAKE_MANAGER_SHOWSHOWSEARCH ,
      WPREF_TAKE_MANAGER_TREEMODE ,
      WPREF_TAKE_DEFAULT_FILETR_OBJ ,
      WPREF_TAKE_DEFAULT_FILETR_TAG ,
      WPREF_TAKE_DEFAULT_FILETR_MAT ,
      WPREF_TAKE_DEFAULT_FILETR_SHD ,
      WPREF_TAKE_DEFAULT_FILETR_LAY ,
      WPREF_TAKE_DEFAULT_FILETR_OTH ,
      WPREF_TAKE_DEFAULT_FILETR_VIS ,
      WPREF_TAKE_DEFAULT_FILETR_TRN ,
      WPREF_TAKE_DEFAULT_FILETR_PRM ,
      WPREF_TAKE_DEFAULT_FILETR_CAM ,
      WPREF_TAKE_DEFAULT_FILETR_RS
    }
     
    enum class  EVENT {
      NONE ,
      FORCEREDRAW ,
      ANIMATE ,
      NOEXPRESSION ,
      GLHACK ,
      CAMERAEXPRESSION ,
      ENQUEUE_REDRAW ,
      DONT_OVERWRITE_RENDERING
    }
     
    enum class  DRAWFLAGS {
      NONE ,
      NO_THREAD ,
      NO_ANIMATION ,
      ONLY_ACTIVE_VIEW ,
      NO_EXPRESSIONS ,
      INDRAG ,
      NO_HIGHLIGHT_PLANE ,
      FORCEFULLREDRAW ,
      ONLY_CAMERAEXPRESSION ,
      INMOVE ,
      ONLY_BASEDRAW ,
      ONLY_HIGHLIGHT ,
      STATICBREAK ,
      NO_PRESENT ,
      PRIVATE_NO_WAIT_GL_FINISHED ,
      PRIVATE_ONLYBACKGROUND ,
      PRIVATE_NOBLIT ,
      PRIVATE_OPENGLHACK ,
      PRIVATE_ONLY_PREPARE ,
      PRIVATE_NO_3DCLIPPING ,
      DONT_OVERWRITE_RENDERING ,
      SKIP_IF_THREADED_DRAW_ACTIVE ,
      DRAW_WITH_BLOCKED_INTERACTION ,
      SELECTION_ONLY ,
      BUILD_AS_EXTERNALRENDERER
    }
     
    enum class  ANIMATEFLAGS {
      NONE ,
      NO_PARTICLES ,
      NO_CHILDREN ,
      INRENDER ,
      NO_MINMAX ,
      NO_NLA ,
      NLA_SUM ,
      PARAMETER_TRACKS
    }
     
    enum class  SAVEDOCUMENTFLAGS {
      NONE ,
      DIALOGSALLOWED ,
      SAVEAS ,
      DONTADDTORECENTLIST ,
      AUTOSAVE ,
      SAVECACHES ,
      EXPORTDIALOG ,
      CRASHSITUATION ,
      NO_SHADERCACHE
    }
     
    enum class  COPYFLAGS {
      NONE ,
      NO_HIERARCHY ,
      NO_ANIMATION ,
      NO_BITS ,
      NO_MATERIALPREVIEW ,
      NO_BRANCHES ,
      DOCUMENT ,
      NO_NGONS ,
      CACHE_BUILD ,
      RECURSIONCHECK ,
      DEFORM_CACHE_BUILD ,
      PRIVATE_IDENTMARKER ,
      PRIVATE_NO_INTERNALS ,
      PRIVATE_NO_PLUGINLAYER ,
      PRIVATE_UNDO ,
      PRIVATE_CONTAINER_COPY_DIRTY ,
      PRIVATE_CONTAINER_COPY_IDENTICAL ,
      PRIVATE_NO_TAGS ,
      PRIVATE_DELETE ,
      PRIVATE_CLIPBOARD_COPY ,
      PRIVATE_NO_ASSETS ,
      PRIVATE_NO_RESULTASSETS ,
      PRIVATE_NO_LOGS ,
      PRIVATE_RENDER ,
      PRIVATE_MOGRAPH_CLONE ,
      PRIVATE_SET_ORIGIN ,
      PRIVATE_NO_DESCRIPTION ,
      PRIVATE_FASTCOPYFROMPARENT ,
      PRIVATE_BODYPAINT_NODATA ,
      PRIVATE_BODYPAINT_CONVERTLAYER ,
      WITH_MODIFIED_MATRIX
    }
     
    enum class  UNDOTYPE {
      NONE ,
      CHANGE ,
      CHANGE_NOCHILDREN ,
      CHANGE_SMALL ,
      CHANGE_SELECTION ,
      NEWOBJ ,
      DELETEOBJ ,
      ACTIVATE ,
      DEACTIVATE ,
      BITS ,
      HIERARCHY_PSR ,
      PRIVATE_DOCUMENTDATA ,
      PRIVATE_STRING ,
      PRIVATE_MULTISELECTIONAXIS ,
      START ,
      END
    }
     
    enum class  DRAWHANDLE {
      MINI ,
      SMALL ,
      MIDDLE ,
      BIG ,
      CUSTOM ,
      POINTSIZE ,
      SELPOINTSIZE ,
      VERYBIG
    }
     
    enum class  DRAW_ALPHA {
      NONE ,
      INVERTED ,
      NORMAL ,
      FROM_IMAGE ,
      NORMAL_FROM_IMAGE
    }
     
    enum class  DRAW_TEXTUREFLAGS {
      NONE ,
      COLOR_IMAGE_TO_LINEAR ,
      COLOR_SRGB_TO_LINEAR ,
      COLOR_IMAGE_TO_SRGB ,
      COLOR_LINEAR_TO_SRGB ,
      COLOR_CORRECTION_MASK ,
      USE_PROFILE_COLOR ,
      ALLOW_FLOATINGPOINT ,
      TILE ,
      TEMPORARY ,
      INTERPOLATION_NEAREST ,
      INTERPOLATION_LINEAR ,
      INTERPOLATION_LINEAR_MIPMAP ,
      INTERPOLATION_MASK
    }
     
    enum class  TOOLDRAW {
      NONE ,
      HANDLES ,
      AXIS ,
      HIGHLIGHTS
    }
     
    enum class  TOOLDRAWFLAGS {
      NONE ,
      INVERSE_Z ,
      HIGHLIGHT
    }
     
    enum class  DIRTYFLAGS {
      NONE ,
      MATRIX ,
      DATA ,
      SELECT ,
      CACHE ,
      CHILDREN ,
      DESCRIPTION ,
      SELECTION_OBJECTS ,
      SELECTION_TAGS ,
      SELECTION_MATERIALS ,
      ALL
    }
     
    enum class  HDIRTY_ID {
      ANIMATION ,
      OBJECT ,
      OBJECT_MATRIX ,
      OBJECT_HIERARCHY ,
      TAG ,
      MATERIAL ,
      SHADER ,
      RENDERSETTINGS ,
      VP ,
      FILTER ,
      NBITS ,
      MAX
    }
     
    enum class  HDIRTYFLAGS {
      NONE ,
      ANIMATION ,
      OBJECT ,
      OBJECT_MATRIX ,
      OBJECT_HIERARCHY ,
      TAG ,
      MATERIAL ,
      SHADER ,
      RENDERSETTINGS ,
      VP ,
      FILTER ,
      NBITS ,
      ALL
    }
     
    enum class  ROTATIONORDER : UChar {
      YXZGLOBAL ,
      YZXGLOBAL ,
      ZYXGLOBAL ,
      ZXYGLOBAL ,
      XZYGLOBAL ,
      XYZGLOBAL ,
      YXZLOCAL ,
      YZXLOCAL ,
      ZYXLOCAL ,
      ZXYLOCAL ,
      XZYLOCAL ,
      XYZLOCAL ,
      HPB ,
      DEFAULT
    }
     
    enum class  ROTATIONINTERPOLATION_QUATERNION : UChar {
      SLERP ,
      CUBIC
    }
     
    enum class  CURVEINTERPOLATION_MODE {
      R23 ,
      CURRENT
    }
     
    enum class  BUILDFLAGS : UInt16 {
      NONE ,
      INTERNALRENDERER ,
      EXTERNALRENDERER ,
      ISOPARM ,
      EXPORTONLY ,
      INTERACTIVEEDITOR
    }
     
    enum class  EXECUTIONFLAGS {
      NONE ,
      ANIMATION ,
      EXPRESSION ,
      CACHEBUILDING ,
      CAMERAONLY ,
      INDRAG ,
      INMOVE ,
      RENDER ,
      ALLOW_PRIORITYSHIFT ,
      PROFILING
    }
     
    enum class  SCENEHOOKDRAW {
      NONE ,
      DRAW_PASS ,
      HIGHLIGHT_PASS_BEFORE_TOOL ,
      HIGHLIGHT_PASS ,
      HIGHLIGHT_PASS_INV ,
      DRAW_PASS_AFTER_CLEAR
    }
     
    enum class  DESCFLAGS_DESC {
      NONE ,
      RESOLVEMULTIPLEDATA ,
      LOADED ,
      RECURSIONLOCK ,
      DONTLOADDEFAULT ,
      MAPTAGS ,
      NEEDDEFAULTVALUE ,
      TRISTATE ,
      EXPORTHELPSYMBOLSMODE ,
      MATREFLECTANCEOVERLAP ,
      XPRESSO ,
      PRESET ,
      CHECK_HAS_CONTENT
    }
     
    enum class  DESCFLAGS_GET {
      NONE ,
      PARAM_GET ,
      NO_GLOBALDATA ,
      NO_GEDATADEFAULTVALUE ,
      ALLOW_TRISTATE ,
      PRIVATE_GETDEFAULTVALUEONLY ,
      PRIVATE_GETRAWCOLORDATA
    }
     
    enum class  DESCFLAGS_SET {
      NONE ,
      PARAM_SET ,
      USERINTERACTION ,
      DONTCHECKMINMAX ,
      DONTAFFECTINHERITANCE ,
      FORCESET ,
      DONTFREESPLINECACHE ,
      INDRAG ,
      INRESETTODEFAULT ,
      PRIVATE_SETRAWCOLORDATA
    }
     
    enum class  DESCFLAGS_ENABLE { NONE }
     
    enum class  HIERARCHYCLONEFLAGS {
      NONE ,
      ASIS ,
      ASPOLY ,
      ASLINE ,
      ASSPLINE ,
      ASVOLUME
    }
     
    enum class  CHECKVALUEFORMAT {
      NOTHING ,
      DEGREE ,
      PERCENT ,
      METER ,
      INT
    }
     
    enum class  CHECKVALUERANGE {
      GREATER ,
      GREATEROREQUAL ,
      LESS ,
      LESSOREQUAL ,
      BETWEEN ,
      BETWEENOREQUAL ,
      BETWEENOREQUALX ,
      BETWEENOREQUALY ,
      DIFFERENT
    }
     
    enum class  PAINTMESHFLAGS {
      NONE ,
      QUAD ,
      SEL ,
      SELA ,
      SELB ,
      SELC ,
      SELD ,
      TA ,
      TB ,
      TC ,
      TD ,
      INACTIVE ,
      EDGEA ,
      EDGEB ,
      EDGEC ,
      EDGED
    }
     
    enum class  GETBRANCHINFO {
      NONE ,
      ONLYWITHCHILDREN ,
      GELISTNODES ,
      ONLYMODIFIABLE ,
      ONLYWITHANIMATION
    }
     
    enum class  BRANCHINFOFLAGS {
      NONE ,
      ANIMATE ,
      HIDEINTIMELINE ,
      HASFIELDS
    }
     
    enum class  GETACTIVEOBJECTFLAGS {
      NONE ,
      CHILDREN ,
      SELECTIONORDER
    }
     
    enum class  DRAWPASS {
      OBJECT ,
      BOX ,
      HANDLES ,
      HIGHLIGHTS ,
      XRAY
    }
     
    enum class  SAVEPROJECT {
      NONE ,
      ASSETS ,
      SCENEFILE ,
      DIALOGSALLOWED ,
      SHOWMISSINGASSETDIALOG ,
      ADDTORECENTLIST ,
      DONTCOPYFILES ,
      PROGRESSALLOWED ,
      DONTTOUCHDOCUMENT ,
      DONTFAILONMISSINGASSETS ,
      ISNET ,
      USEDOCUMENTNAMEASFILENAME ,
      DONTCLEARSUGGESTEDFOLDER ,
      WITHCACHES ,
      DONTGENERATEPAINTTEX ,
      ASSETLINKS_COPY_FILEASSETS ,
      ASSETLINKS_COPY_NODEASSETS
    }
     
    enum class  ICONDATAFLAGS {
      NONE ,
      APPLYCOLORPROFILE ,
      DISABLED
    }
     
    enum class  USERAREAFLAGS {
      NONE ,
      TABSTOP ,
      HANDLEFOCUS ,
      COREMESSAGE ,
      SYNCMESSAGE ,
      DONT_MIRROR
    }
     
    enum class  EXECUTIONRESULT {
      OK ,
      USERBREAK ,
      OUTOFMEMORY
    }
     
    enum  {
      DLG_OK ,
      DLG_CANCEL
    }
     
    enum class  IMAGERESULT {
      OK ,
      NOTEXISTING ,
      WRONGTYPE ,
      OUTOFMEMORY ,
      FILEERROR ,
      FILESTRUCTURE ,
      MISC_ERROR ,
      PARAM_ERROR ,
      THREADCANCELED
    }
     
    enum class  STRINGENCODING {
      XBIT ,
      BIT7 ,
      BIT7HEX ,
      UTF8
    }
     
    enum class  THREADMODE {
      DEPRECATED_SYNCHRONOUS ,
      ASYNC ,
      PRIVATE_OPENGL
    }
     
    enum class  THREADPRIORITYEX {
      NORMAL ,
      ABOVE ,
      BELOW ,
      LOWEST
    }
     
    enum class  HYPERFILEARRAY {
      CHAR ,
      WORD ,
      LONG ,
      LLONG ,
      SREAL ,
      LREAL ,
      REAL
    }
     
    enum class  FILEERROR {
      NONE ,
      OPEN ,
      CLOSE ,
      READ ,
      WRITE ,
      SEEK ,
      INVALID ,
      OUTOFMEMORY ,
      USERBREAK ,
      WRONG_VALUE ,
      CHUNK_NUMBER ,
      VALUE_NO_CHUNK ,
      FILEEND ,
      UNKNOWN_VALUE
    }
     
    enum class  FILEOPEN {
      APPEND ,
      READ ,
      WRITE ,
      READWRITE ,
      READ_NOCACHE ,
      SHAREDREAD ,
      SHAREDWRITE
    }
     
    enum class  LOCATION {
      DISK ,
      IPCONNECTION ,
      MEMORY
    }
     
    enum class  FILESEEK {
      START ,
      RELATIVE_
    }
     
    enum class  FILEDIALOG {
      NONE ,
      ANY ,
      IGNOREOPEN
    }
     
    enum class  FILESELECT {
      LOAD ,
      SAVE ,
      DIRECTORY
    }
     
    enum class  FILESELECTTYPE {
      ANYTHING ,
      IMAGES ,
      SCENES ,
      BODYPAINT
    }
     
    enum class  OPERATINGSYSTEM {
      WIN ,
      OSX ,
      LINUX ,
      _IOS
    }
     
    enum class  BYTEORDER {
      V_MOTOROLA ,
      V_INTEL
    }
     
    enum class  HYPERFILEVALUE {
      NONE ,
      START ,
      STOP ,
      CSTOP ,
      CHAR ,
      UCHAR ,
      INT16 ,
      UINT16 ,
      INT32 ,
      UINT32 ,
      INT64 ,
      UINT64 ,
      FLOAT ,
      FLOAT64 ,
      BOOLEAN ,
      TIME ,
      VECTOR ,
      VECTOR64 ,
      MATRIX ,
      MATRIX64 ,
      VECTOR32 ,
      MATRIX32 ,
      FLOAT32 ,
      MEMORY ,
      IMAGE ,
      STRING ,
      FILENAME ,
      CONTAINER ,
      ALIASLINK ,
      LMEMORY ,
      VECTOR_ARRAY_EX ,
      POLYGON_ARRAY_EX ,
      UINT16_ARRAY_EX ,
      PARTICLE_ARRAY_EX ,
      SREAL_ARRAY_EX ,
      ARRAY ,
      UUID
    }
     
    enum class  FINDANIM {
      EXACT ,
      LEFT ,
      RIGHT
    }
     
    enum class  CCURVE {
      CURVE ,
      HLE_BASE ,
      HLE_CURVE ,
      SS_CURVE ,
      SS_CURVE2 ,
      SS_CURVE3 ,
      SS_CURVE4 ,
      SS_CURVE5 ,
      HLE_SCALE ,
      HLE_MOVE
    }
     
    enum class  CLOOP {
      OFF ,
      CONSTANT ,
      CONTINUE ,
      REPEAT ,
      OFFSETREPEAT ,
      OSCILLATE ,
      LOOP
    }
     
    enum class  CINTERPOLATION : UChar {
      SPLINE ,
      LINEAR ,
      STEP ,
      DUMMY
    }
     
    enum class  CAUTOMODE : UChar {
      CLASSIC ,
      FIXEDSLOPE
    }
     
    enum class  CKEYPRESET {
      AUTO_CLAMP ,
      AUTO_OVERSHOOT ,
      FIXED_OVERSHOOTWEIGHTED ,
      CUSTOM ,
      AUTO_OVERSHOOTWEIGHTED
    }
     
    enum class  CLIPBOARDTYPE {
      EMPTY ,
      STRING ,
      BITMAP
    }
     
    enum class  EDGESELECTIONTYPE {
      SELECTION ,
      HIDDEN ,
      PHONG
    }
     
    enum class  REGISTRYTYPE {
      ANY ,
      WINDOW ,
      OBJECT ,
      TAG ,
      MATERIAL ,
      SHADER ,
      SOUND ,
      LAYOUT ,
      BITMAPFILTER ,
      VIDEOPOST ,
      SCENEHOOK ,
      NODE ,
      DESCRIPTION ,
      LIBRARY ,
      CUSTOMDATATYPE ,
      RESOURCEDATATYPE ,
      SCENELOADER ,
      SCENESAVER ,
      CTRACK ,
      CSEQ ,
      CKEY ,
      PAINTER ,
      GV_VALUE ,
      GV_VALGROUP ,
      GV_OPGROUP ,
      GV_OPCLASS ,
      GV_DATA ,
      GADGETS ,
      PREFS ,
      FIELDLAYER
    }
     
    enum class  MODELINGCOMMANDMODE {
      ALL ,
      POINTSELECTION ,
      POLYGONSELECTION ,
      EDGESELECTION
    }
     
    enum class  MODELINGCOMMANDFLAGS {
      NONE ,
      CREATEUNDO ,
      IMPORTER ,
      USEGLOBALSYMMETRY ,
      SETESCTESTTHREAD
    }
     
    enum class  PLUGINTYPE {
      ANY ,
      SHADER ,
      MATERIAL ,
      COMMAND ,
      OBJECT ,
      TAG ,
      BITMAPFILTER ,
      VIDEOPOST ,
      TOOL ,
      SCENEHOOK ,
      NODE ,
      LIBRARY ,
      BITMAPLOADER ,
      BITMAPSAVER ,
      SCENELOADER ,
      SCENESAVER ,
      COREMESSAGE ,
      CUSTOMGUI ,
      CUSTOMDATATYPE ,
      RESOURCEDATATYPE ,
      MANAGERINFORMATION ,
      CTRACK ,
      FALLOFF ,
      VMAPTRANSFER ,
      PREFS ,
      SNAP ,
      FIELDLAYER ,
      DESCRIPTION
    }
     
    enum class  DRAWRESULT {
      FAILURE ,
      OK ,
      SKIP
    }
     
    enum class  DISPLAYMODE {
      UNKNOWN ,
      GOURAUD ,
      QUICK ,
      WIRE ,
      ISOPARM ,
      SHADEDBOX ,
      BOX ,
      SKELETON ,
      GOURAUDWIRE ,
      GOURAUDISOPARM ,
      QUICKWIRE ,
      QUICKISOPARM ,
      FLATWIRE ,
      FLATISOPARM ,
      FLATBOX ,
      HIDDENWIRE ,
      HIDDENISOPARM ,
      HIDDENBOX ,
      SHADEDBOXWIRE ,
      QUICKBOXWIRE ,
      QUICKBOX ,
      PRIVATE_ISOLINE ,
      PRIVATE_FLAT ,
      PRIVATE_HIDDEN
    }
     
    enum class  DOCUMENTSETTINGS {
      GENERAL ,
      MODELING ,
      DOCUMENT ,
      ANIMATIONSYSTEM ,
      TOOLS
    }
     
    enum class  VERSIONTYPE {
      UNKNOWN ,
      LITE ,
      BENCHMARK ,
      UPDATER_EX ,
      TEAMRENDER_CLIENT ,
      TEAMRENDER_SERVER ,
      CINEMA4D ,
      COMMANDLINE ,
      CINEWARE ,
      CPYTHON ,
      CPYTHON3
    }
     
    enum class  LAYERSETMODE {
      LAYERS ,
      LAYERMASKS ,
      ALPHAS ,
      LAYERALPHA ,
      DISABLED
    }
     
    enum class  OBJECTCATEGORY {
      NULLOBJECT ,
      POLYGON ,
      SPLINE ,
      GENERATOR ,
      HYPERNURBS ,
      UNUSED1 ,
      DEFORMER ,
      CAMERA ,
      LIGHT ,
      SCENE ,
      PARTICLE ,
      OTHER ,
      UNUSED2 ,
      GRID ,
      HORIZON ,
      WORLDAXIS ,
      BOUNDS ,
      HUD ,
      SDS ,
      HIGHLIGHTING ,
      MULTIAXIS ,
      OBJECTHANDLES ,
      HANDLEBANDS ,
      SDSCAGE ,
      NGONLINES ,
      JOINT ,
      OBJECTHIGHLIGHTING ,
      GUIDELINES ,
      POI ,
      GRADIENT ,
      BASEGRID ,
      HANDLES ,
      HAIR ,
      FIELD
    }
     
    enum class  SELECTIONFILTERBIT {
      NONE ,
      NULLOBJECT ,
      POLYGON ,
      SPLINE ,
      GENERATOR ,
      HYPERNURBS ,
      DEFORMER ,
      CAMERA ,
      LIGHT ,
      SCENE ,
      PARTICLE ,
      OTHER ,
      JOINT
    }
     
    enum class  OBJECTSTATE {
      EDITOR ,
      RENDER ,
      DEFORM ,
      REAL_DEFORM ,
      EDITOR_HIERARCHICAL ,
      RENDER_HIERARCHICAL
    }
     
    enum class  DISPLAYFILTER : UInt64 {
      NONE ,
      NULLOBJECT ,
      POLYGON ,
      SPLINE ,
      GENERATOR ,
      HYPERNURBS ,
      UNUSED1 ,
      DEFORMER ,
      CAMERA ,
      LIGHT ,
      SCENE ,
      PARTICLE ,
      OTHER ,
      UNUSED2 ,
      GRID ,
      HORIZON ,
      WORLDAXIS ,
      BOUNDS ,
      HUD ,
      SDS ,
      HIGHLIGHTING ,
      MULTIAXIS ,
      OBJECTHANDLES ,
      HANDLEBANDS ,
      SDSCAGE ,
      NGONLINES ,
      JOINT ,
      OBJECTHIGHLIGHTING ,
      GUIDELINES ,
      POI ,
      GRADIENT ,
      BASEGRID ,
      HANDLES ,
      HAIR ,
      FIELD
    }
     
    enum class  DISPLAYEDITSTATE {
      NONE ,
      SDS ,
      DEFORM ,
      DOCUMENT
    }
     
    enum class  THREADTYPE {
      NONE ,
      EDITORREDRAW ,
      RENDEREDITOR ,
      RENDEREXTERNAL
    }
     
    enum class  RENDERPROGRESSTYPE {
      BEFORERENDERING ,
      DURINGRENDERING ,
      AFTERRENDERING ,
      GLOBALILLUMINATION ,
      QUICK_PREVIEW ,
      AMBIENTOCCLUSION ,
      CANCELLED
    }
     
    enum class  RDATA_SAVECALLBACK_CMD {
      OPEN ,
      WRITE ,
      CLOSE
    }
     
    enum class  VPGETINFO {
      XRESOLUTION ,
      YRESOLUTION ,
      BITDEPTH ,
      CPP ,
      VISIBLE ,
      LINEOFFSET
    }
     
    enum class  DRAWOBJECT {
      NONE ,
      FORCELINES ,
      NOBACKCULL ,
      LOCALMATRIX ,
      EDITMODE ,
      FORCEBASE ,
      FORCEPOINTS ,
      NO_EOGL ,
      USE_OBJECT_COLOR ,
      USE_CUSTOM_COLOR ,
      XRAY_ON ,
      XRAY_OFF ,
      IMMEDIATELY ,
      Z_OFFSET ,
      PRIVATE_ANY
    }
     
    enum class  RENDERFLAGS {
      NONE ,
      EXTERNAL ,
      NODOCUMENTCLONE ,
      SHOWERRORS ,
      PREVIEWRENDER ,
      IRR ,
      CREATE_PICTUREVIEWER ,
      OPEN_PICTUREVIEWER ,
      KEEP_CONTEXT ,
      BATCHRENDER ,
      NET ,
      DONTANIMATE ,
      PREVIEWSETTINGS ,
      RENDERQUEUEERRORS ,
      FORCE_LINEAR_COLOR_PROFILE ,
      INTERNAL_USE_CURRENT_QUEUE ,
      INTERNAL_SPECIAL_PREVIEW
    }
     
    enum class  WRITEMODE {
      STANDARD ,
      ASSEMBLE_MOVIE ,
      ASSEMBLE_SINGLEIMAGE
    }
     
    enum class  NETRENDERFLAGS {
      NONE ,
      OPEN_PICTUREVIEWER ,
      SHOWERRORS ,
      DELETEAFTERRENDERING ,
      NOPEERTOPEERASSETDISTRIBUTION ,
      NOREQUESTONDEMAND ,
      EXCLUDECLIENTONLOADINGERROR ,
      SAVERESULTSINREPOSITORY ,
      ASSEMBLEB3DFILESIMMEDIATLEY ,
      NOWRITETEST ,
      HANDLEWARNINGASERROR ,
      KEEPB3DFILESAFTERASSEMBLING
    }
     
    enum class  CHECKISRUNNING {
      ANIMATIONRUNNING ,
      VIEWDRAWING ,
      EDITORRENDERING ,
      EXTERNALRENDERING ,
      PAINTERUPDATING ,
      MATERIALPREVIEWRUNNING ,
      EVENTSYSTEM ,
      BAKING ,
      INTERACTIVERENDERING
    }
     
    enum class  BAKE_TEX_ERR {
      NONE ,
      NO_DOC ,
      NO_MEM ,
      NO_RENDER_DOC ,
      NO_TEXTURE_TAG ,
      NO_OBJECT ,
      NO_UVW_TAG ,
      TEXTURE_MISSING ,
      WRONG_BITMAP ,
      USERBREAK ,
      NO_OPTIMAL_MAPPING ,
      NO_SOURCE_UVW_TAG
    }
     
    enum class  GL_MESSAGE {
      OK ,
      ERROR_ ,
      FORCE_EMULATION
    }
     
    enum class  VIEWPORT_PICK_FLAGS {
      NONE ,
      ALLOW_OGL ,
      DONT_STOP_THREADS ,
      USE_SEL_FILTER ,
      OGL_ONLY_TOPMOST ,
      OGL_ONLY_VISIBLE ,
      OGL_IGNORE_Z ,
      OGL_ONLY_TOPMOST_WITH_OBJ ,
      NO_DEPTH_CORRECTION
    }
     
    enum class  BACKGROUNDHANDLERCOMMAND {
      ISRUNNING ,
      STOP ,
      START ,
      REMOVE
    }
     
    enum class  BACKGROUNDHANDLERFLAGS {
      NONE ,
      VIEWREDRAW ,
      EDITORRENDDER ,
      MATERIALPREVIEW ,
      RENDEREXTERNAL ,
      PRIVATE_VIEWREDRAW ,
      SHUTDOWN
    }
     
    enum class  IDENTIFYFILE {
      NONE ,
      SCENE ,
      IMAGE ,
      MOVIE ,
      SKIPQUICKTIME ,
      SCRIPT ,
      SOUND ,
      LAYOUT ,
      PYTHON ,
      FASTDETECTION
    }
     
    enum class  CALCHARDSHADOW {
      NONE ,
      TRANSPARENCY ,
      SPECIALGISHADOW ,
      SPECIALSELFSHADOW
    }
     
    enum class  ILLUMINATEFLAGS {
      NONE ,
      SHADOW ,
      NOENVIRONMENT ,
      DISABLESHADOWMAP_CORRECTION ,
      DISABLESHADOWCASTERMP_CORRECTION ,
      LIGHTDIRNORMALS ,
      NODISTANCEFALLOFF ,
      NOGRAIN ,
      BACKLIGHT
    }
     
    enum class  RAYBIT {
      NONE ,
      REFLECTION ,
      TRANSPARENCY ,
      REFRACTION ,
      CUSTOM ,
      CURR_REFLECTION ,
      CURR_TRANSPARENCY ,
      CURR_REFRACTION ,
      CURR_CUSTOM ,
      VOLUMETRICLIGHT ,
      ALLOWVLMIX ,
      GI ,
      BLURRY ,
      SSS ,
      AO ,
      COMPOSITING
    }
     
    enum class  VOLUMEINFO : UInt32 {
      NONE ,
      REFLECTION ,
      TRANSPARENCY ,
      ALPHA ,
      CHANGENORMAL ,
      DISPLACEMENT ,
      ENVREQUIRED ,
      DUDVREQUIRED ,
      MIPSAT ,
      VOLUMETRIC ,
      TRANSFORM ,
      EVALUATEPROJECTION ,
      PRIVATE_GLOW ,
      INITCALCULATION ,
      FINAL_ALPHA ,
      ISNBMMATERIAL
    }
     
    enum class  VIDEOPOSTINFO {
      NONE ,
      STOREFRAGMENTS ,
      EXECUTELINE ,
      EXECUTEPIXEL ,
      REQUEST_MOTIONMATRIX ,
      REQUEST_MOTIONGEOMETRY ,
      CALCVOLUMETRIC ,
      CALCSHADOW ,
      CUSTOMLENS ,
      GLOBALILLUMINATION ,
      CAUSTICS ,
      CUSTOMLENS_EXTENDED ,
      NETFRAME ,
      NETRUNONSERVER ,
      NETCREATEBUFFER ,
      NETCREATEBUFFER_MULTI ,
      REQUEST_MOTIONFULL
    }
     
    enum class  SHADERINFO {
      NONE ,
      TRANSFORM ,
      BUMP_SUPPORT ,
      ALPHA_SUPPORT ,
      REFLECTIONS ,
      DUDVREQUIRED ,
      DYNAMICSUBSHADERS ,
      TRANSPARENCIES ,
      TIMEDEPENDENT
    }
     
    enum class  SAMPLEBUMP {
      NONE ,
      MIPFALLOFF
    }
     
    enum class  INITCALCULATION {
      SURFACE ,
      TRANSPARENCY ,
      DISPLACEMENT
    }
     
    enum class  FIELDLAYER_FLAG {
      NONE ,
      SKIP ,
      HIDE ,
      MODIFYDATA ,
      PRESERVEALPHA ,
      NOCHILDVALUE ,
      NOCHILDCOLOR ,
      NOCHILDDIRECTION ,
      TEMPORARY ,
      NOCHILDROTATION
    }
     
    enum class  MULTIPASSCHANNEL {
      NONE ,
      IMAGELAYER ,
      MATERIALCHANNEL
    }
     
    enum class  DLG_TYPE {
      MODAL ,
      MODAL_RESIZEABLE ,
      MODAL_POPUPEDIT ,
      ASYNC ,
      ASYNC_POPUP_RESIZEABLE ,
      ASYNC_POPUPEDIT ,
      ASYNC_TOOLBAR ,
      ASYNC_FULLSCREEN_WORK ,
      ASYNC_FULLSCREEN_MONITOR ,
      DUMMY
    }
     
    enum class  MULTIMSG_ROUTE {
      NONE ,
      UP ,
      ROOT ,
      DOWN ,
      BROADCAST ,
      BROADCAST_ONLYOBJECTS
    }
     
    enum class  VPGETFRAGMENTS {
      NONE ,
      Z_P ,
      N
    }
     
    enum class  NAV2DCAMERASETTINGSCACHEMODE {
      REVERT ,
      STOREIFIN2D ,
      STOREIFIN2DANDNOTALREADYSTORED ,
      FORCESTORE ,
      RET_CHANGED ,
      RET_NOCHANGE ,
      INVALID
    }
     
    enum class  SIGNALMODE {
      V_DEFAULT ,
      V_RESERVED
    }
     
    enum class  QUALIFIER {
      NONE ,
      SHIFT ,
      CTRL ,
      ALT ,
      MOUSEHIT
    }
     
    enum  {
      DIALOG_PIN ,
      DIALOG_CHECKBOX ,
      DIALOG_STATICTEXT ,
      DIALOG_BUTTON ,
      DIALOG_ARROWBUTTON ,
      DIALOG_EDITTEXT ,
      DIALOG_EDITNUMBER ,
      DIALOG_EDITNUMBERUD ,
      DIALOG_EDITSLIDER ,
      DIALOG_SLIDER ,
      DIALOG_COLORFIELD ,
      DIALOG_COLORCHOOSER ,
      DIALOG_USERAREA ,
      DIALOG_RADIOGROUP ,
      DIALOG_COMBOBOX ,
      DIALOG_POPUPBUTTON ,
      DIALOG_CHILD ,
      DIALOG_FREECHILDREN ,
      DIALOG_DLGGROUP ,
      DIALOG_SETTITLE ,
      DIALOG_GROUPSPACE ,
      DIALOG_GROUPBORDER ,
      DIALOG_GROUPBORDERSIZE ,
      DIALOG_SETIDS ,
      DIALOG_LAYOUTCHANGED ,
      DIALOG_ACTIVATE ,
      DIALOG_ADDSUBMENU ,
      DIALOG_ENDSUBMENU ,
      DIALOG_ADDMENUCMD ,
      DIALOG_FLUSHMENU ,
      DIALOG_INIT ,
      DIALOG_CHECKNUMBERS ,
      DELME_DIALOG_SETGROUP ,
      DIALOG_FLUSHGROUP ,
      DIALOG_SETMENU ,
      DIALOG_SCREEN2LOCALX ,
      DIALOG_SCREEN2LOCALY ,
      DIALOG_ADDMENUSTR ,
      DIALOG_RADIOBUTTON ,
      DIALOG_ADDMENUSEP ,
      DIALOG_SEPARATOR ,
      DIALOG_MULTILINEEDITTEXT ,
      DIALOG_INITMENUSTR ,
      DIALOG_RADIOTEXT ,
      DIALOG_MENURESOURCE ,
      DIALOG_LISTVIEW ,
      DIALOG_SUBDIALOG ,
      DIALOG_CHECKCLOSE ,
      DIALOG_GETTRISTATE ,
      DIALOG_SDK ,
      DIALOG_SCROLLGROUP ,
      DIALOG_ISOPEN ,
      DIALOG_REMOVEGADGET ,
      DIALOG_MENUGROUPBEGIN ,
      DIALOG_NOMENUBAR ,
      DIALOG_SAVEWEIGHTS ,
      DIALOG_LOADWEIGHTS ,
      DIALOG_EDITSHORTCUT ,
      DIALOG_ISVISIBLE ,
      DIALOG_HIDEELEMENT ,
      DIALOG_SETDEFAULTCOLOR ,
      DIALOG_COMBOBUTTON ,
      DIALOG_PRIVATE_NOSTOPEDITORTHREADS ,
      DIALOG_ISACTIVE ,
      DIALOG_USERAREA_OSWINDOWREF ,
      DIALOG_DISABLEREDRAW ,
      DIALOG_SCREEN2LOCALXY ,
      DIALOG_HIDEOREXPAND ,
      DIALOG_ISMINIMIZED ,
      DIALOG_USERAREA_DRAWPORT_WINDOWREF ,
      DIALOG_ISDOCKEDORTABBED ,
      DIALOG_GLOBALSTATUSBAR ,
      DIALOG_NOTEXTMENU ,
      DIALOG_FORCEALLOWMOUSEWHEEL ,
      DIALOG_SETGROUPBACKGROUNDCOLORID ,
      DIALOG_SETGROUPBACKGROUNDCOLORRGB ,
      DIALOG_SETGROUPINNERBACKGROUNDCOLORID ,
      DIALOG_SETGROUPINNERBACKGROUNDCOLORRGB ,
      DIALOG_ISELEMENTHIDDEN ,
      DIALOG_
    }
     
    enum  {
      LV_GETLINECOUNT ,
      LV_GETCOLUMNCOUNT ,
      LV_GETLINEHEIGHT ,
      LV_GETCOLUMNWIDTH ,
      LV_GETCOLUMTYPE ,
      LV_COLUMN_TEXT ,
      LV_COLUMN_EDITTEXT ,
      LV_COLUMN_BMP ,
      LV_COLUMN_CHECKBOX ,
      LV_COLUMN_BUTTON ,
      LV_COLUMN_USERDRAW ,
      LV_COLUMN_COLORVIEW ,
      LV_GETCOLUMDATA ,
      LV_GETLINESELECTED ,
      LV_GETCOLSPACE ,
      LV_GETLINESPACE ,
      LV_GETFIXEDLAYOUT ,
      LV_DESTROYLISTVIEW ,
      LV_INITCACHE ,
      LV_NOAUTOCOLUMN ,
      LV_LMOUSEDOWN ,
      LV_ACTION ,
      LV_USERDRAW ,
      LV_REDRAW ,
      LV_DATACHANGED ,
      LV_SHOWLINE ,
      LV_DRAGRECEIVE ,
      LV_RMOUSEDOWN ,
      LV_SIMPLE_SELECTIONCHANGED ,
      LV_SIMPLE_CHECKBOXCHANGED ,
      LV_SIMPLE_FOCUSITEM ,
      LV_SIMPLE_BUTTONCLICK ,
      LV_SIMPLE_ITEM_ID ,
      LV_SIMPLE_COL_ID ,
      LV_SIMPLE_DATA ,
      LV_SIMPLE_DOUBLECLICK ,
      LV_SIMPLE_FOCUSITEM_NC ,
      LV_SIMPLE_RMOUSE ,
      LV_SIMPLE_USERDRAW ,
      LV_PYTHON_CLEANUP ,
      LV_GETBUBBLEHELP ,
      LV_RES_INT ,
      LV_RES_BITMAP ,
      LV_RES_STRING ,
      LV_RES_VECTOR ,
      LV_RES_NIL ,
      LV__
    }
     
    enum class  NOTIFY_EVENT {
      NONE ,
      ALL ,
      ANY ,
      PRE_DEFORM ,
      POST_DEFORM ,
      UNDO ,
      MESSAGE ,
      FREE ,
      COPY ,
      CACHE ,
      REMOVE ,
      CLONE ,
      INSERT ,
      SELECTIONBIT ,
      HIGHLIGHTBIT ,
      SETNAME
    }
     
    enum class  NOTIFY_EVENT_FLAG {
      REMOVED ,
      COPY_UNDO ,
      COPY_CACHE ,
      COPY_DUPLICATE ,
      ONCE ,
      COPY ,
      NONE
    }
     
    enum class  DESCIDSTATE {
      NONE ,
      LOCKED ,
      HIDDEN ,
      OVERRIDE ,
      FORBIDOVERRIDE
    }
     
    enum class  BASEDRAW_HOOK_MESSAGE {
      ADAPTVIEW ,
      SET_SCENE_CAMERA ,
      DELETEBASEDRAW
    }
     
    enum class  CINEMAINFO {
      TABLETT ,
      OPENGL ,
      TABLETT_HIRES ,
      FORBID_GUI ,
      MINIMAL_VIEWPORT ,
      LISTEN ,
      WATCH_PID ,
      SETFOREGROUND ,
      FORCEDIALOG
    }
     
    enum class  PROTOCOL {
      ZERO ,
      IPV4 ,
      IPV6
    }
     
    enum class  RESOLVERESULT {
      OK ,
      UNKNOWN
    }
     
    enum class  SERVERJOBLIST {
      INACTIVE ,
      ACTIVE ,
      DOWNLOAD ,
      ALL
    }
     
    enum class  EDITION {
      C4D ,
      NETCLIENT ,
      NETSERVER ,
      NET
    }
     
    enum class  JOBCOMMAND {
      NONE ,
      FETCHJOB ,
      ALLOCATESPACE ,
      DOWNLOAD ,
      RENDER ,
      DELETE_ ,
      STOPANDDELETE ,
      ASSEMBLE ,
      END
    }
     
    enum class  RENDERTARGET {
      ALL ,
      SPECIFIED ,
      MINMAX
    }
     
    enum class  JOBSTATE {
      IDLE ,
      PREPARING_RUNNING ,
      PREPARING_FAILED ,
      PREPARING_OK ,
      RENDER_RUNNING ,
      TE_RENDER_PAUSED ,
      RENDER_OK ,
      RENDER_FAILED ,
      ALLOCATESPACE_RUNNING ,
      ALLOCATESPACE_OK ,
      ALLOCATESPACE_FAILED ,
      DOWNLOAD_RUNNING ,
      DOWNLOAD_OK ,
      DOWNLOAD_FAILED ,
      ASSEMBLE_RUNNING ,
      ASSEMBLE_OK ,
      ASSEMBLE_FAILED ,
      STOPPED ,
      QUEUED ,
      PENDING ,
      QUEUED_WAITING ,
      ASSEMBLE_PENDING
    }
     
    enum class  ZEROCONFMACHINESTATE {
      ONLINE ,
      OFFLINE ,
      REMOVED ,
      UPDATE
    }
     
    enum class  ZEROCONFACTION {
      NONE ,
      RESOLVE ,
      MONITOR
    }
     
    enum class  ZEROCONFERROR {
      OK ,
      UNKNOWN ,
      NOSUCHNAME ,
      NOMEMORY ,
      BADPARAM ,
      BADREFERENCE ,
      BADSTATE ,
      BADFLAGS ,
      UNSUPPORTED ,
      NOTINITIALIZED ,
      ALREADYREGISTERED ,
      NAMECONFLICT ,
      INVALID ,
      FIREWALL ,
      INCOMPATIBLE ,
      BADINTERFACEINDEX ,
      REFUSED ,
      NOSUCHRECORD ,
      NOAUTH ,
      NOSUCHKEY ,
      NATTRAVERSAL ,
      DOUBLENAT ,
      BADTIME ,
      BADSIGNAL ,
      BADKEY ,
      TRANSIENT ,
      SERVICENOTRUNNING ,
      NATPORTMAPPINGUNSUPPORTED ,
      NATPORTMAPPINGDISABLED ,
      NOROUTER ,
      POLLINGMODE
    }
     
    enum class  COMPONENT_SELECTION_MODES {
      POINTS ,
      EDGES ,
      POLYGONS ,
      UVPOINTS ,
      UVPOLYGONS ,
      CURRENT ,
      UVEDGES
    }
     
    enum class  FIELDSAMPLE_FLAG {
      VALUE ,
      DIRECTION ,
      COLOR ,
      ROTATION ,
      ALL ,
      NONLINEARCOLOR
    }
     
    enum class  FIELDOBJECTSAMPLE_FLAG {
      NONE ,
      DISABLEDIRECTIONFALLOFF
    }
     
    enum class  FIELDOBJECT_FLAG {
      NONE ,
      INLINE ,
      GENERATINGCOLOR ,
      PRESERVEALPHA ,
      SKIP
    }
     
    enum class  VIEWPORT_RENDER_ID {
      RENDER_OBJECT ,
      DATA_SETTER
    }
     
    enum class  GETALLASSETSRESULT {
      FAILED ,
      OK ,
      MISSING
    }
     
    enum class  VIEWPORTTYPE {
      NONE ,
      MAIN_VIEW ,
      UV_VIEW
    }
     
    enum class  SCENENODES_IDS {
      SCENEHOOK_ID ,
      MSGUPDATE_LEGACYOBJ_ID ,
      PERSISTENT_HASH_LOW_ID
    }
     
    enum class  FOLDMODE {
      NONE ,
      HIDEMYSELF ,
      EXPAND1STEP ,
      EXPANDCOMPLETELY
    }
     
    enum class  TAGBITS {
      NONE ,
      TDISPLAY ,
      TCOMPOSITING ,
      TTEXTURE ,
      MODIFYOBJECT ,
      MODIFYMATRIX ,
      TSTOP ,
      TIMPLEMENTSDRAWFUNCTION ,
      TGROUPPRIORITY ,
      TEXPRESSION ,
      TNEUTRONGENERATEDPROXY
    }
     
    enum  {
      FONT_DEFAULT ,
      FONT_STANDARD ,
      FONT_BOLD ,
      FONT_MONOSPACED ,
      FONT_BIG ,
      FONT_BIG_BOLD ,
      FONT_ITALIC ,
      FONT_SMALL_BOLD ,
      FONT_BIGGER ,
      FONT_HUGE
    }
     
    enum  {
      QSHIFT ,
      QCTRL ,
      QALT ,
      QALT2 ,
      QQUAL_
    }
     
    enum  {
      KEY_MLEFT ,
      KEY_MRIGHT ,
      KEY_MMIDDLE ,
      KEY_MX1 ,
      KEY_MX2 ,
      KEY_SHIFT ,
      KEY_CONTROL ,
      KEY_ALT ,
      KEY_CAPSLOCK ,
      KEY_MODIFIERS ,
      KEY_COMMAND ,
      KEY_BACKSPACE ,
      KEY_TAB ,
      KEY_ENTER ,
      KEY_ESC ,
      KEY_SPACE ,
      KEY_DELETE ,
      KEY_UP ,
      KEY_DOWN ,
      KEY_LEFT ,
      KEY_RIGHT ,
      KEY_PGUP ,
      KEY_PGDOWN ,
      KEY_HOME ,
      KEY_END ,
      KEY_INSERT ,
      KEY_F1 ,
      KEY_F2 ,
      KEY_F3 ,
      KEY_F4 ,
      KEY_F5 ,
      KEY_F6 ,
      KEY_F7 ,
      KEY_F8 ,
      KEY_F9 ,
      KEY_F10 ,
      KEY_F11 ,
      KEY_F12 ,
      KEY_F13 ,
      KEY_F14 ,
      KEY_F15 ,
      KEY_F16 ,
      KEY_F17 ,
      KEY_F18 ,
      KEY_F19 ,
      KEY_F20 ,
      KEY_F21 ,
      KEY_F22 ,
      KEY_F23 ,
      KEY_F24 ,
      KEY_F25 ,
      KEY_F26 ,
      KEY_F27 ,
      KEY_F28 ,
      KEY_F29 ,
      KEY_F30 ,
      KEY_F31 ,
      KEY_F32
    }
     
    enum  {
      BfBLACK ,
      BfWHITE ,
      BfLTGRAY ,
      BfLTRED ,
      BfLTGREEN ,
      BfLTBLUE ,
      BfLTYELLOW ,
      BfGRAY ,
      BfRED ,
      BfGREEN ,
      BfBLUE ,
      BfYELLOW ,
      BfDGRAY ,
      BfDRED ,
      BfDGREEN ,
      BfDBLUE ,
      BfDYELLOW ,
      BfDWHITE ,
      BfORANGE ,
      BfBROWN ,
      BfPURPLE
    }
     
    enum  {
      ARROW_LEFT ,
      ARROW_RIGHT ,
      ARROW_UP ,
      ARROW_DOWN ,
      ARROW_SMALL_LEFT ,
      ARROW_SMALL_RIGHT ,
      ARROW_SMALL_UP ,
      ARROW_SMALL_DOWN
    }
     
    enum  {
      BMP_NORMAL ,
      BMP_NORMALSCALED ,
      BMP_GRAYEDOUT ,
      BMP_TRANSPARENTALPHA ,
      BMP_ALLOWALPHA ,
      BMP_APPLY_COLORPROFILE ,
      BMP_DIMIMAGE ,
      BMP_MIRROR_H ,
      BMP_MIRROR_H_FORBID ,
      BMP_MIRROR_V ,
      BMP_MIRROR_V_FORBID ,
      BMP_SCALE_NEARESTPIXEL
    }
     
    enum  {
      BFV_GRIDGROUP_EQUALCOLS ,
      BFV_GRIDGROUP_EQUALROWS ,
      BFV_CMD_EQUALCOLUMNS ,
      BFV_BORDERGROUP_CHECKBOX ,
      BFV_BORDERGROUP_FOLD ,
      BFV_BORDERGROUP_FOLD_OPEN ,
      BFV_BORDERGROUP_FOLD2 ,
      BFV_GRIDGROUP_ALLOW_WEIGHTS ,
      BFV_GRIDGROUP_FORBID_MIRROR ,
      BFV_GRIDGROUP_ROUNDED_BACKGROUND ,
      BFV_DIALOG_REMOVEABLE ,
      BFV_DIALOG_BAR_VERT ,
      BFV_DIALOG_NOBUTTONS ,
      BFV_LAYOUTGROUP_PALETTEOUTLINES ,
      BFV_TABGROUP_RELOADDIALOG ,
      BFV_LAYOUTGROUP_NODROP ,
      BFV_LAYOUTGROUP_NODROP2 ,
      BFV_IGNORE_FOCUS ,
      BFx_NOEQUAL ,
      BFH_FIXED ,
      BFV_FIXED ,
      BFV_
    }
     
    enum  {
      RESOURCE_MENU ,
      RESOURCE_DIALOG ,
      RESOURCE_CONTAINER
    }
     
    enum  {
      MENURESOURCE_SUBMENU ,
      MENURESOURCE_SEPARATOR ,
      MENURESOURCE_COMMAND ,
      MENURESOURCE_SUBTITLE ,
      MENURESOURCE_STRING ,
      MENURESOURCE_MENURESOURCE ,
      MENURESOURCE_SUBTITLE_ICONID ,
      MENURESOURCE_ASSET
    }
     
    enum  {
      BORDER_NONE ,
      BORDER_THIN_IN ,
      BORDER_THIN_OUT ,
      BORDER_IN ,
      BORDER_OUT ,
      BORDER_GROUP_IN ,
      BORDER_GROUP_OUT ,
      BORDER_OUT2 ,
      BORDER_OUT3 ,
      BORDER_BLACK ,
      BORDER_ACTIVE_1 ,
      BORDER_ACTIVE_2 ,
      BORDER_GROUP_TOP ,
      BORDER_ACTIVE_3 ,
      BORDER_ACTIVE_4 ,
      BORDER_ROUND ,
      BORDER_SCHEME_EDIT ,
      BORDER_SCHEME_EDIT_NUMERIC ,
      BORDER_OUT3l ,
      BORDER_OUT3r ,
      BORDER_THIN_INb ,
      BORDER_MASK ,
      BORDER_TEXT_DOTTED ,
      BORDER_WITH_TITLE_MONO ,
      BORDER_WITH_TITLE_BOLD ,
      BORDER_WITH_TITLE
    }
     
    enum  {
      TAB_TABS ,
      TAB_NOSELECT ,
      TAB_CYCLE ,
      TAB_RADIO ,
      TAB_VLTABS ,
      TAB_VRTABS ,
      BFV_CENTER ,
      BFV_TOP ,
      BFV_BOTTOM ,
      BFV_FIT ,
      BFV_SCALE ,
      BFV_SCALEFIT ,
      BFV_MASK ,
      BFH_CENTER ,
      BFH_LEFT ,
      BFH_RIGHT ,
      BFH_FIT ,
      BFH_SCALE ,
      BFH_SCALEFIT ,
      BFH_MASK ,
      DR_MULTILINE_MONOSPACED ,
      DR_MULTILINE_SYNTAXCOLOR ,
      DR_MULTILINE_STATUSBAR ,
      DR_MULTILINE_HIGHLIGHTLINE ,
      DR_MULTILINE_READONLY ,
      DR_MULTILINE_PYTHON ,
      DR_MULTILINE_WORDWRAP ,
      DR_MULTILINE_SETLOGGER ,
      DR_MULTILINE_SETPYTHONSCOPE ,
      DR_MULTILINE_NO_DARK_BACKGROUND ,
      DR_MULTILINE_NO_BORDER ,
      DR_MULTILINE_NO_SCROLLBARS ,
      DR_MULTILINE_BOLD ,
      DR_MULTILINE_DROP_TEXT_QUOTED ,
      DR_MULTILINE_RESERVED_MONOSPACED ,
      DR_MULTILINE_RESERVED_SYNTAXCOLOR ,
      DR_MULTILINE_RESERVED_STATUSBAR ,
      DR_MULTILINE_RESERVED_HIGHLIGHTLINE ,
      DR_MULTILINE_LINECOUNT ,
      DR_MULTILINE_SUBMITONENTER ,
      DR_COLORFIELD_NO_BRIGHTNESS ,
      DR_COLORFIELD_NO_COLOR ,
      DR_COLORFIELD_BODYPAINT ,
      DR_COLORFIELD_ICC_BASEDOC ,
      DR_COLORFIELD_ICC_BPTEX ,
      DR_COLORFIELD_NO_MODE_BUTTONS ,
      DR_COLORFIELD_NO_COMPACT ,
      DR_COLORFIELD_NO_COLORWHEEL ,
      DR_COLORFIELD_NO_SPECTRUM ,
      DR_COLORFIELD_NO_PICTURE ,
      DR_COLORFIELD_NO_RGB ,
      DR_COLORFIELD_NO_HSV ,
      DR_COLORFIELD_NO_KELVIN ,
      DR_COLORFIELD_NO_MIXER ,
      DR_COLORFIELD_NO_SWATCHES ,
      DR_COLORFIELD_NO_SCREENPICKER ,
      DR_COLORFIELD_ENABLE_COMPACT ,
      DR_COLORFIELD_ENABLE_COLORWHEEL ,
      DR_COLORFIELD_ENABLE_SPECTRUM ,
      DR_COLORFIELD_ENABLE_PICTURE ,
      DR_COLORFIELD_ENABLE_RGB ,
      DR_COLORFIELD_ENABLE_HSV ,
      DR_COLORFIELD_ENABLE_KELVIN ,
      DR_COLORFIELD_ENABLE_MIXER ,
      DR_COLORFIELD_ENABLE_SWATCHES ,
      DR_COLORFIELD_RGB_HIDE_HEX ,
      DR_COLORFIELD_POPUP ,
      DR_COLORFIELD_AS_UI_COLOR ,
      DROLDWIN_SDK ,
      DR_BUTTON_STYLE_NORMAL ,
      DR_BUTTON_STYLE_EMPHASIZED ,
      DR_BUTTON_STYLE_DIMMED ,
      GADGET_FLAG_HANDLE_SCROLL_GROUP ,
      DIALOGRESOURCE_
    }
     
    enum  {
      CMD_POPUP_RIGHT ,
      CMD_POPUP_BELOW ,
      CMD_PIC ,
      CMD_TOGGLE ,
      CMD_TEXT ,
      CMD_SHORTCUT ,
      CMD_ARROW ,
      CMD_VERT ,
      CMD_BUTTONLIKE ,
      CMD_MENU ,
      CMD_CYCLE ,
      CMD_EDITPALETTE ,
      CMD_SMALLICONS ,
      CMD_VALUE ,
      CMD_VALUE_MASK ,
      CMD_HIDDEN ,
      CMD_ENABLED ,
      CMD_
    }
     
    enum  {
      POPUP_ABOVE ,
      POPUP_BELOW ,
      POPUP_CENTERVERT ,
      POPUP_LEFT ,
      POPUP_RIGHT ,
      POPUP_CENTERHORIZ ,
      POPUP_ADJUSTWIDTH ,
      POPUP_ADJUSTHEIGHT ,
      POPUP_EXECUTECOMMANDS ,
      POPUP_ALLOWUNDOCK ,
      POPUP_ALLOWUNDOCK_REC ,
      POPUP_ALLOW_FILTERING ,
      POPUP_
    }
     
    enum  {
      SCROLLGROUP_VERT ,
      SCROLLGROUP_HORIZ ,
      SCROLLGROUP_NOBLIT ,
      SCROLLGROUP_LEFT ,
      SCROLLGROUP_BORDERIN ,
      SCROLLGROUP_STATUSBAR ,
      SCROLLGROUP_AUTOHORIZ ,
      SCROLLGROUP_AUTOVERT ,
      SCROLLGROUP_NOSCROLLER ,
      SCROLLGROUP_NOVGAP ,
      SCROLLGROUP_STATUSBAR_EXT_GROUP ,
      SCROLLGROUP_BORDERINb ,
      ID_SCROLLGROUP_STATUSBAR_EXTLEFT_GROUP ,
      ID_SCROLLGROUP_STATUSBAR_EXTRIGHT_GROUP
    }
     
    enum  {
      MOUSESELECT_NOCROSSCURSOR ,
      MOUSESELECT_NOFILL ,
      MOUSESELECT_RECTANGLE ,
      MOUSESELECT_POLYGON ,
      MOUSESELECT_FREE ,
      MOUSESELECT_OUTLINE_RECT ,
      MOUSESELECT_OUTLINE_POLY ,
      MOUSESELECT_OUTLINE_FREE
    }
     
    enum  {
      MANAGER_NONE ,
      MANAGER_SCROLLER_HORIZ ,
      MANAGER_SCROLLER_VERT ,
      MANAGER_CLOSEBUTTON ,
      MANAGER_SIZEABLE ,
      MANAGER_TITLE ,
      MANAGER_ID ,
      MANAGER_MENUID ,
      MANAGER_NOBLITBIT ,
      MANAGER_WANTOWNSTATUSBAR ,
      MANAGER_DUMMY
    }
     
    enum  {
      FOCUS_OFF ,
      FOCUS_ON ,
      FOCUS_INACT ,
      FOCUS_HIDDEN ,
      FOCUS_INPROGRESS ,
      FOCUS_
    }
     
    enum  {
      BFM_INIT ,
      BFM_TIMER_MESSAGE ,
      BFM_CALCSIZE ,
      BFM_CHECKCLOSE ,
      BFM_CHECKCLOSE_LAYOUTSWITCH ,
      BFM_ASKCLOSE ,
      BFM_DESTROY ,
      BFM_CLOSEWINDOW ,
      BFM_ASK_TABSWITCH ,
      BFM_VISIBLE_ON ,
      BFM_VISIBLE_OFF ,
      BFM_PARENT_TITLECHNG ,
      BFM_RENAMEWINDOW ,
      BFM_GETACTIVETABTITLE ,
      BFM_GETCURSORINFO ,
      RESULT_CURSOR ,
      RESULT_BUBBLEHELP ,
      RESULT_SUPPRESSBUBBLE ,
      RESULT_CURSOR_FORCE_HIDE ,
      RESULT_CURSOR_NO_STEREO_HIDE ,
      RESULT_HELP1 ,
      RESULT_HELP2 ,
      RESULT_HELP3 ,
      RESULT_HELP4 ,
      RESULT_BUBBLEHELP_TITLE ,
      BFM_CURSORINFO_REMOVE ,
      BFM_SETCURSORINFO ,
      BFM_GETINFO ,
      BFM_DRAW ,
      BFM_DRAW_LEFT ,
      BFM_DRAW_TOP ,
      BFM_DRAW_RIGHT ,
      BFM_DRAW_BOTTOM ,
      BFM_DRAW_HASRECT ,
      BFM_DRAW_OGL ,
      BFM_DRAW_REASON ,
      BFM_SHOW_AREA ,
      BFM_SCROLLGROUP_SCROLLED ,
      SCROLLGROUP_HEADER ,
      BFM_TITLECHNG ,
      BFM_ENABLE ,
      BFM_DISABLE ,
      BFM_MINCHNG ,
      BFM_MAXCHNG ,
      BFM_VALUECHNG ,
      BFM_IDCHNG ,
      BFM_GOTFOCUS ,
      BFM_LOSTFOCUS ,
      BFM_SETFOCUS ,
      BFM_SETFIRSTFOCUS ,
      BFM_MOVEFOCUSNEXT ,
      BFM_MOVEFOCUSPREV ,
      BFM_SETLASTFOCUS ,
      BFM_GETFOCUSBEFOREUPDATE ,
      BFM_SETFOCUSAFTERUPDATE ,
      BFM_SHOW_FRAME ,
      BFM_SHOW_ID ,
      BFM_MANAGER_ID ,
      BFM_CHILD_REMOVED ,
      BFM_CHILD_ID ,
      BFM_ACTIVATE_WINDOW ,
      BFM_INPUT ,
      BFM_INPUT_AFTER_SCROLL ,
      BFM_INPUT_QUALIFIER ,
      BFM_INPUT_MODIFIERS ,
      BFM_INPUT_DEVICE ,
      BFM_INPUT_MOUSE ,
      BFM_INPUT_KEYBOARD ,
      BFM_INPUT_ASC ,
      BFM_INPUT_CHANNEL ,
      BFM_INPUT_MOUSELEFT ,
      BFM_INPUT_MOUSERIGHT ,
      BFM_INPUT_MOUSEMIDDLE ,
      BFM_INPUT_MOUSEX1 ,
      BFM_INPUT_MOUSEX2 ,
      BFM_INPUT_MOUSEWHEEL ,
      BFM_INPUT_MOUSEMOVE ,
      BFM_INPUT_MAGNIFY ,
      BFM_INPUT_IDLE ,
      BFM_INPUT_VALUE ,
      BFM_INPUT_VALUE_REAL ,
      BFM_INPUT_X ,
      BFM_INPUT_Y ,
      BFM_INPUT_Z ,
      BFM_INPUT_TILT ,
      BFM_INPUT_ORIENTATION ,
      BFM_INPUT_FINGERWHEEL ,
      BFM_INPUT_P_ROTATION ,
      BFM_INPUT_HSCROLL ,
      BFM_INPUT_VSCROLL ,
      BFM_INPUT_MULTITOUCHSCROLL ,
      BFM_INPUT_WHEELSCROLL ,
      BFM_INPUT_TIMESTAMP ,
      BFM_INPUT_DOUBLECLICK ,
      INPUT_DBLCLK ,
      BFM_SIZED ,
      BFM_ACTION ,
      BFM_ACTION_ID ,
      BFM_ACTION_VALUE ,
      BFM_ACTION_INDRAG ,
      BFM_ACTION_STRCHG ,
      BFM_ACTION_VALCHG ,
      BFM_ACTION_ESC ,
      BFM_ACTION_RESET ,
      BFM_ACTION_UPDATE ,
      BFM_ACTION_KEYUP ,
      BFM_ACTION_KEYDOWN ,
      BFM_COLORCHOOSER_PARENTMESSAGE ,
      BFM_COLORCHOOSER ,
      BFM_COLORCHOOSER_RGB_RANGE ,
      BFM_COLORCHOOSER_SYSTEMMESSAGE ,
      BFM_GET_FOCUS_RECTANGLE ,
      BFM_GET_FOCUS_RECTANGLE_X ,
      BFM_GET_FOCUS_RECTANGLE_Y ,
      BFM_GET_FOCUS_RECTANGLE_W ,
      BFM_GET_FOCUS_RECTANGLE_H ,
      BFM_ACTIVE_CHG ,
      BFM_ACTIVE ,
      BFM_DRAGSTART ,
      BFM_DRAGRECEIVE ,
      BFM_DRAGEND ,
      BFM_DRAGAUTOSCROLL ,
      DRAGTYPE_FILES ,
      DRAGTYPE_ICON ,
      DRAGTYPE_MANAGER ,
      DRAGTYPE_COMMAND ,
      DRAGTYPE_CMDPALETTE ,
      DRAGTYPE_DESCID ,
      DRAGTYPE_ATOMARRAY ,
      DRAGTYPE_FILENAME_IMAGE ,
      DRAGTYPE_RGB ,
      DRAGTYPE_FILENAME_SCENE ,
      DRAGTYPE_FILENAME_OTHER ,
      DRAGTYPE_RGB_ARRAY ,
      DRAGTYPE_RGBA_ARRAY ,
      BFM_DRAG_DATA_ ,
      BFM_DRAG_SCREENX ,
      BFM_DRAG_SCREENY ,
      BFM_DRAG_FINISHED ,
      BFM_DRAG_PRIVATE ,
      BFM_DRAG_LOST ,
      BFM_DRAG_TYPE_NEW ,
      BFM_DRAG_DATA_NEW ,
      BFM_DRAG_ESC ,
      AUTOSCROLL_UP ,
      AUTOSCROLL_DOWN ,
      AUTOSCROLL_LEFT ,
      AUTOSCROLL_RIGHT ,
      AUTOSCROLL_LEFT_UP ,
      AUTOSCROLL_LEFT_DOWN ,
      AUTOSCROLL_RIGHT_UP ,
      AUTOSCROLL_RIGHT_DOWN ,
      HANDLEMOUSEDRAG_PRIVATEFRAME ,
      HANDLEMOUSEDRAG_PRIVATEAUTOSCROLL ,
      BFM_GETVALUE ,
      BFM_VALUEADD ,
      BFM_VALUESUB ,
      BFM_INITVALUES ,
      BFM_ADJUSTSIZE ,
      BFM_ADJUSTSIZE_LEFT ,
      BFM_ADJUSTSIZE_TOP ,
      BFM_ADJUSTSIZE_WIDTH ,
      BFM_ADJUSTSIZE_HEIGHT ,
      BFM_LAYOUT_CHANGED ,
      BFM_FULLSCREENMODE_ON ,
      BFM_FULLSCREENMODE_OFF ,
      BFM_ISACTIVE ,
      BFM_SETSTATUSBAR ,
      BFM_STATUSBAR_PROGRESSON ,
      BFM_STATUSBAR_TXT ,
      BFM_STATUSBAR_PROGRESS ,
      BFM_STATUSBAR_PROGRESSSPIN ,
      BFM_STATUSBAR_HELP ,
      BFM_STATUSBAR_PROGRESSFULLSIZE ,
      BFM_STATUSBAR_TINT_COLOR ,
      BFM_STATUSBAR_NETTINT_COLOR ,
      BFM_STATUSBAR_NETPROGRESSON ,
      BFM_STATUSBAR_NETTXT ,
      BFM_STATUSBAR_NETPROGRESS ,
      BFM_STATUSBAR_NETPROGRESSSPIN ,
      BFM_MARKFOCUS ,
      BFM_CLEARFOCUS ,
      BFM_SETACTIVE ,
      BFM_SETACTIVE_DATA ,
      BFM_REMOVE_DIALOG ,
      BFM_DESTINATION_GROUP ,
      BFM_SCROLLAREA ,
      BFM_SCROLLX ,
      BFM_SCROLLY ,
      BFM_GETVISIBLE_XOFF ,
      BFM_GETVISIBLE_YOFF ,
      BFM_GETVISIBLE_WIDTH ,
      BFM_GETVISIBLE_HEIGHT ,
      SCR_VISIBLEOBJS ,
      BFM_SETVIEWPORTORIGIN ,
      BFM_SCROLLGROUP_OFFSETCHANGED ,
      BFM_SETVIEWPORTORIGIN_X ,
      BFM_SETVIEWPORTORIGIN_Y ,
      BFM_SETVIEWPORTSIZE ,
      BFM_MENU_SET ,
      BFM_MENU_ON ,
      BFM_MENU_OFF ,
      BFM_MENU_CHECK ,
      BFM_MENU_UNCHECK ,
      BFM_DRAWUSERITEM ,
      BFM_DRAWUSERITEM_ID ,
      BFM_SYNC_MESSAGE ,
      BFM_CORE_MESSAGE ,
      BFM_CORE_ID ,
      BFM_CORE_UNIQUEID ,
      BFM_CORE_PAR1 ,
      BFM_CORE_PAR2 ,
      BFM_CORE_SPECIALCOREID ,
      BFM_TESTONLY ,
      BFM_SPECIALGETSTRING ,
      BFM_SPECIALSETRANGE ,
      BFM_SPECIALMODE ,
      BFM_SETSPECIALMULTI ,
      BFM_SETSPECIALMULTID ,
      BFM_POPUPNOTIFY ,
      BFM_INTERACTSTART ,
      BFM_INTERACTEND ,
      BFM_CORE_UPDATECOMMANDS ,
      BF_INSERT_LAST ,
      BFM_MENUFINDER ,
      BFM_SET_MSG_BITMASK ,
      BITMASK_CORE_MESSAGE ,
      BITMASK_SYNC_MESSAGE ,
      BFM_SETMAINTITLE ,
      BFM_GETVIEWPANELDATA ,
      BFM_GETVIEWPANEL_PRIVATEDATA ,
      BFM_SETVIEWPANELLAYOUT ,
      BFM_VPD_PANELID ,
      BFM_VPD_LAYOUTTYPE ,
      BFM_VPD_MAXIMIZED ,
      BFM_VPD_PRIVATEDATA ,
      BFM_STORE_WEIGHTS ,
      BFM_MARKFORCELAYOUT ,
      BFM_REDRAW_EDITMODE ,
      BFM_RELOAD_MENUS ,
      BFM_OPTIMIZE ,
      BFM_CORE_UPDATEACTIVECOMMANDS ,
      BFM_UPDATE_REGION ,
      BFM_GUIPREFSCHANGED ,
      BFM_COMMANDSCHANGED ,
      BFM_LAYOUT_GETDATA ,
      BFM_LAYOUT_SETDATA ,
      BFM_GETCUSTOMGUILAYOUTDATA ,
      BFM_WEIGHTS_CHANGED ,
      BFM_GETPARENT_MANAGER_ID ,
      BFM_EDITFIELD_GETCURSORPOS ,
      BFM_EDITFIELD_GETBLOCKSTART ,
      BFM_EDITFIELD_SETCURSORPOS ,
      BFM_FADE ,
      BFM_FADE_REMOVEALL ,
      BFM_EDITFIELD_STOREUNDO ,
      BFM_EDITFIELD_RESTOREUNDO ,
      BFM_EDITFIELD_FLUSHUNDO ,
      BFM_EDITFIELD_GETUNDOSTATS ,
      BFM_EDITFIELD_UNDOSTAT_COUNT ,
      BFM_EDITFIELD_UNDOSTAT_UNDOLEVEL ,
      BFM_REQUIRESRESULT ,
      BFM_SCROLLGROUP_SCALE ,
      BFM_DUMMY
    }
     
    enum class  OPENDIALOGFLAGS {
      NONE ,
      IGNORELAYOUT ,
      CLIENTCOORDINATES ,
      ALIGNTOPLEFTATMOUSE
    }
     
    enum class  VIEWPORTSELECTFLAGS {
      NONE ,
      USE_HN ,
      USE_DEFORMERS ,
      REGION_SELECT ,
      IGNORE_HIDDEN_SEL ,
      USE_DISPLAY_MODE ,
      FORCE_USE_DEFORMERS ,
      ALLOW_ASYNC ,
      BUILD_ALL_FRAMENTS
    }
     
    enum class  SCRIPTMODE {
      NONE ,
      PYTHON ,
      AM_ID
    }
     
    enum class  BASEDRAW_HIGHLIGHT {
      BEFORE_TOOLS ,
      AFTER_TOOLS ,
      INVERSE_Z ,
      DRAW_AFTER_CLEAR
    }
     
    enum class  FIELDLAYER_CHANNELFLAG {
      NONE ,
      ENABLE ,
      VALUE ,
      COLOR ,
      DIRECTION ,
      ROTATION
    }
     
    enum class  POPUPEDITTEXTCALLBACK {
      TEXTCHANGED ,
      CLOSED ,
      CANCELED ,
      CURSOR_UP ,
      CURSOR_DOWN
    }
     

    Functions

    enum cinema::ACCESSED_OBJECTS_MASK MAXON_ENUM_FLAGS (ACCESSED_OBJECTS_MASK)
     
    enum cinema::METHOD_ID Int32 MAXON_ENUM_ORDERED_LIST (METHOD_ID)
     
    enum cinema::GET_ACCESSED_OBJECTS_FLAGS MAXON_ENUM_FLAGS (GET_ACCESSED_OBJECTS_FLAGS)
     
    enum cinema::BITMAP_UPDATEREGION MAXON_ENUM_LIST (BITMAP_UPDATEREGION)
     
    IconData InitResourceIcon (Int32 resource_id)
     
    BaseBitmapInitResourceBitmap (Int32 resource_id)
     
    BaseBitmapGetBitmapFromLockList (BaseDocument *doc, Filename &fn, Int32 frame, LayerSet *lsl, LockList *&lockList, INITRENDERRESULT *initRenderResult=nullptr)
     
    void Unlock (LockList *&lockList)
     
    Bool IsMarkedForDeletion (const LockList *lockList)
     
    maxon::Result< maxon::DataDictionary > GetImageSettingsDictionary (const BaseContainer *data, Int32 filterId)
     
    maxon::Result< void > SetImageSettingsDictionary (const maxon::DataDictionary &settings, BaseContainer *data, Int32 filterId)
     
    Bool BitmapSaverPluginSupport (BitmapSaverPlugin *bp, Int flags)
     
    Bool BitmapSaverPluginSupport (Int32 format, Int flags)
     
    Bool BitmapSaverPluginIsMovie (BitmapSaverPlugin *bp)
     
    Bool BitmapSaverPluginIsMovie (Int32 format)
     
    Bool HandleShaderPopupI (BaseList2D *parent, BaseShader *&current, Int32 value, Int param)
     
    Bool BuildShaderPopupMenuI (BaseContainer *menu, BaseList2D *parent, BaseShader *current, Int param)
     
    Bool HandleShaderPopup (const BaseContainer &bc, const DescID &descid, Int32 value, Int param)
     
    Bool BuildShaderPopupMenu (BaseContainer *menu, const BaseContainer &bc, const DescID &descid, Int param)
     
    String GetChannelName (Int32 channelid)
     
    BaseDocumentGetActiveDocument ()
     
    BaseDocumentGetFirstDocument ()
     
    Bool LoadFile (const Filename &name, Bool allowAsync)
     
    void InsertBaseDocument (BaseDocument *doc)
     
    void SetActiveDocument (BaseDocument *doc)
     
    Bool CloseAllDocuments ()
     
    void KillDocument (BaseDocument *&doc)
     
    BaseDocumentLoadDocument (const Filename &name, SCENEFILTER loadflags, BaseThread *thread, maxon::String *errorString=nullptr, const ProgressDelegate &progressDelegate=ProgressDelegate())
     
    Bool MergeDocument (BaseDocument *doc, const Filename &name, SCENEFILTER loadflags, BaseThread *thread, maxon::String *errorString=nullptr, const ProgressDelegate &progressDelegate=ProgressDelegate())
     
    Bool SaveDocument (BaseDocument *doc, const Filename &name, SAVEDOCUMENTFLAGS saveflags, Int32 format)
     
    BaseDocumentIsolateObjects (BaseDocument *doc, const AtomArray &t_objects)
     
    RENDERRESULT RenderDocument (BaseDocument *doc, const BaseContainer &rdata, ProgressHook *prog, void *private_data, BaseBitmap *bmp, RENDERFLAGS renderflags, BaseThread *th, WriteProgressHook *wprog=nullptr, void *data=nullptr)
     
    Bool SaveProject (BaseDocument *doc, SAVEPROJECT flags, Filename targetPath, maxon::BaseArray< AssetEntry > *assets=nullptr, maxon::BaseArray< AssetEntry > *missingAssets=nullptr)
     
    GETALLASSETSRESULT GetAllAssets (BaseDocument *doc, Bool allowDialogs, maxon::BaseArray< AssetEntry > &assets, Filename &lastPath, ASSETDATA_FLAG flags=ASSETDATA_FLAG::NONE)
     
    Bool InteractiveModeling_Rewind (BaseDocument *doc)
     
    Bool InteractiveModeling_Restart (BaseDocument *doc)
     
    void RunAnimation (BaseDocument *doc, Bool forward, Bool stop)
     
    void SetDocumentTime (BaseDocument *doc, const BaseTime &time)
     
    Bool StopExternalRenderer ()
     
    void DrawTools (const AtomArray *activeobjects, const AtomArray *activetags, BaseDocument *doc, BaseDraw *bd, BaseThread *bt, TOOLDRAW drawflags, Bool inversez)
     
    const MultiInstanceEntryGetMographMultiEntry (const BaseContainer &motagBC, Int index)
     
    const MultiInstanceEntryGetMographMultiEntry (const BaseContainer *motagBC, Int index)
     
    enum cinema::MDDIRTY MAXON_ENUM_FLAGS (MDDIRTY)
     
    enum cinema::MD_TYPE MAXON_ENUM_LIST (MD_TYPE)
     
    Vector GetMoDataDefaultVector (Int32 id, const Vector &default_value=Vector(0.0))
     
    Matrix GetMoDataDefaultMatrix (Int32 id, const Matrix &default_value=Matrix())
     
    Float GetMoDataDefaultFloat (Int32 id, Float default_value=0.0)
     
    Int32 GetMoDataDefaultInt32 (Int32 id, Int32 default_value=0)
     
    Int64 GetMoDataDefaultInt64 (Int32 id, Int64 default_value=0)
     
    GeData GetMoDataDefault (Int32 id)
     
    MD_TYPE GetMoDataDefaultType (Int32 id)
     
    enum cinema::STRENGTHMASK MAXON_ENUM_FLAGS (STRENGTHMASK)
     
    Bool RegisterEffectorPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel)
     
    enum cinema::TOOLTRANSFORM_FLAG MAXON_ENUM_FLAGS (TOOLTRANSFORM_FLAG)
     
    enum cinema::MODIFIER_FLAG Int64 MAXON_ENUM_FLAGS (MODIFIER_FLAG)
     
    maxon::Result< FilenameHandleModifyFilenameMessage (Int32 msgType, const void *msgData, const Filename &filename, BaseList2D *undoBl, const ModifyFilenameDelegate &modifyFilenameDelegate={})
     
    enum cinema::MULTILINEEDITTEXTMESSAGEFLAGS MAXON_ENUM_FLAGS (MULTILINEEDITTEXTMESSAGEFLAGS)
     
    enum cinema::SCRIPT_CONTEXT MAXON_ENUM_LIST (SCRIPT_CONTEXT)
     
    enum cinema::SCRIPT_LANGUAGE MAXON_ENUM_LIST (SCRIPT_LANGUAGE)
     
    String GetScriptDefaultCode (const SCRIPT_CONTEXT &context)
     
    enum cinema::MSG_DOCUMENTINFO_TYPE_BEFOREMERGE_RESULT MAXON_ENUM_LIST (MSG_DOCUMENTINFO_TYPE_BEFOREMERGE_RESULT)
     
    GeListHeadAllocListHead ()
     
    GeListNodeAllocListNode (Int32 id)
     
    GeListNodeAllocSmallListNode (Int32 id)
     
    GeListNodeAllocMultiNode (const Int32 *id_array, Int32 id_cnt)
     
    void HandleShaderMessage (GeListNode *node, BaseShader *ps, Int32 type, void *data)
     
    void HandleInitialChannel (GeListNode *node, Int32 id, Int32 type, void *data)
     
    Float CalculateTranslationScale (const UnitScaleData *src, const UnitScaleData *dst)
     
    Float CalculateTranslationScale (const BaseDocument *sdoc, const BaseDocument *ddoc)
     
    maxon::Result< BaseList2D * > NbmFindOrCreateCorrespondingBaseList (maxon::NimbusInterface *nbm, const maxon::CString &nodePath)
     
    maxon::Result< void > NbmPortToDescID (maxon::NimbusInterface *nbm, const maxon::NodePath &node, const maxon::NodePath &port, DescID &result)
     
    BaseObjectGeneratePrimitive (const BaseDocument *doc, Int32 type, const BaseContainer &bc, Float lod, Bool isoparm, BaseThread *bt=nullptr)
     
    BaseObjectGenerateSplinePrimitive (const BaseDocument *doc, Int32 type, const BaseContainer &bc, Float lod, BaseThread *bt=nullptr)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE const PointObjectToPoint (const T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE PointObjectToPoint (T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE const PolygonObjectToPoly (const T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE PolygonObjectToPoly (T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE const SplineObjectToSpline (const T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE SplineObjectToSpline (T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE const LineObjectToLine (const T *op)
     
    template<typename T >
    MAXON_ATTRIBUTE_FORCE_INLINE LineObjectToLine (T *op)
     
    Vector CalcFaceNormal (const Vector *padr, const CPolygon &v)
     
    Int32 CalcLOD (Int32 val, Float lod, Int32 min, Int32 max)
     
    Bool DisjointMesh (PointObject *op)
     
    SplineObjectFitCurve (Vector *padr, Int32 pcnt, Float error, BaseThread *bt)
     
    Bool Triangulate (const Vector *padr, Int32 pcnt, CPolygon **vadr, Int32 *vcnt)
     
    Bool TriangulateStandard (const Vector *padr, Int32 pcnt, Int32 *list, Int32 lcnt, CPolygon *&vadr, Int32 &vcnt, BaseThread *thread)
     
    Bool TriangulateRegular (const Vector *pinp, Int32 pinp_cnt, Int32 *list, Int32 lcnt, Vector *&padr, Int32 &pcnt, CPolygon *&vadr, Int32 &vcnt, Float regular_width, BaseThread *thread)
     
    BaseObjectGenerateText (const BaseDocument *doc, const BaseContainer *cp, BaseThread *bt, Bool separate)
     
    Bool CheckDisplayFilter (BaseObject *op, DISPLAYFILTER filter)
     
    Bool CheckEditorVisibility (BaseObject *op)
     
    Int32 IntersectionTest (PolygonObject *op, BaseDraw *bd, Float x, Float y, const Matrix &mg, Float *z, MODELINGCOMMANDMODE mode, UChar *pPointSelect, Int32 lSelectCount)
     
    Vector ComputeLightColor (BaseObject *op, Bool editor, Float reference)
     
    Vector ComputeColorTemperatureRGB (Float temperature, Float reference, Bool normalize)
     
    BaseObjectGetVirtualLineObject (BaseObject *op, const HierarchyHelp *hh, const Matrix &mloc, Bool keep_spline, Bool recurse, Matrix *mres, Bool *dirty)
     
    UVWTagGenerateUVW (const BaseObject *op, const Matrix &opmg, const TextureTag *tp, const Matrix &texopmg, BaseView *view)
     
    void CutReal (BaseContainer &data, Int32 id, Float min, Float max)
     
    void CutVector (BaseContainer &data, Int32 id, Float min, Float max)
     
    Bool CalculateVisiblePoints (BaseDraw *bd, PolygonObject *op, Vector *padr, UChar *pset, Bool select_visibonly)
     
    BasePluginFindPlugin (Int32 id, PLUGINTYPE type)
     
    BasePluginGetFirstPlugin ()
     
    Bool FilterPluginList (AtomArray &arr, PLUGINTYPE type, Bool sortbyname)
     
    void RemovePlugin (BasePlugin *plug)
     
    void BuildGlobalTagPluginContainer (BaseContainer *plugincontainer, Int32 *id, UInt &newFeatureVersion)
     
    Int32 ResolveGlobalTagPluginContainer (Int32 *id)
     
    FilenameGetLocalFilename ()
     
    BasePluginCreatePluginEntry (const maxon::String &foldername, BasePlugin *bp)
     
    void SetLocalHierarchy (BasePlugin *parent, BasePlugin *pred)
     
    const BaseTagBacktrackToOriginal (const BaseTag *const startTag)
     
    const BaseTime operator* (const BaseTime &t1, const BaseTime &t2)
     
    const BaseTime operator/ (const BaseTime &t1, const BaseTime &t2)
     
    const BaseTime operator+ (const BaseTime &t1, const BaseTime &t2)
     
    const BaseTime operator- (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator== (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator< (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator!= (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator<= (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator>= (const BaseTime &t1, const BaseTime &t2)
     
    Bool operator> (const BaseTime &t1, const BaseTime &t2)
     
    BM_TILE * BfBitmapTileGet (BM_REF bm, const RECT32 *src_rect, Int32 width, Int32 height, Int32 tile_mode, Int32 flags)
     
    Int32 BfBitmapTileDetach (BM_REF bm, BM_TILE *tile_buf, Int32 flags)
     
    Int32 BfDiscardChanges (BM_REF bm)
     
    Int32 BfUpdateView (BM_REF bm)
     
    Bool BfConvertTileToBasebmp (const BM_TILE *tile, const RECT32 *tile_rect, BaseBitmap *bmp, Int32 zero)
     
    Bool BfBitmapTileScale (BM_REF bm, BM_TILE *src_bm, BM_TILE *dst_bm, RECT32 *src_rect, RECT32 *dst_rect)
     
    PROGRESS_ID BfProgressNew (BM_REF bm)
     
    Int32 BfProgressDelete (BM_REF bm, PROGRESS_ID pid)
     
    Int32 BfProgressUpdate (BM_REF bm, PROGRESS_ID pid, Int32 current_value, Int32 max_value, const maxon::String &text)
     
    BaseContainer GetGlobalFilterPrefs (Int32 pluginid)
     
    Bool SetGlobalFilterPrefs (Int32 pluginid, const BaseContainer &prefs)
     
    void * GetEditorWindow ()
     
    Bool RegisterCommandPlugin (Int32 id, const maxon::String &str, Int32 info, BaseBitmap *icon, const maxon::String &help, CommandData *dat)
     
    Bool RegisterManagerInformation (Int32 id, const maxon::String &str, Int32 info)
     
    Bool RegisterCTrackPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *npalloc, const maxon::String &description, Int32 disklevel)
     
    Bool RegisterCustomDataTypePlugin (const maxon::String &str, Int32 info, CustomDataTypeClass *dat, Int32 disclevel)
     
    Bool RegisterResourceDataTypePlugin (const maxon::String &str, Int32 info, ResourceDataTypeClass *dat, Int32 disclevel)
     
    CUSTOMDATATYPEPLUGIN * FindCustomDataTypePlugin (Int32 type)
     
    RESOURCEDATATYPEPLUGIN * FindResourceDataTypePlugin (Int32 type)
     
    Int32 GetDataType (Int32 resourcetype)
     
    BaseContainer GetCustomDataTypeDefault (Int32 type)
     
    void FillBaseCustomGui (BaseCustomGuiLib &lib)
     
    Int32 CompareDateTime (const DateTime &a, const DateTime &b)
     
    enum cinema::DAYOFWEEK MAXON_ENUM_LIST (DAYOFWEEK)
     
    enum cinema::MONTHOFYEAR MAXON_ENUM_LIST (MONTHOFYEAR)
     
    Float64 GetJulianDay (const DateTime &t)
     
    DateTime FromJulianDay (Float64 j)
     
    void GetDateTimeNow (DateTime &t)
     
    void GetDateTimeNowGM (DateTime &t)
     
    Bool LocalToGMTime (const DateTime &tLocal, DateTime &tGMT)
     
    Bool GMTimeToLocal (const DateTime &tGMT, DateTime &tLocal)
     
    DAYOFWEEK GetDayOfWeek (Int32 lYear, Int32 lMonth, Int32 lDay)
     
    String FormatTime (const char *pszFormat, const DateTime &t)
     
    Bool ParseTimeString (String timestr, Int32 &hour, Int32 &minute, Int32 &second)
     
    Bool ParseDateString (String datestr, Int32 &year, Int32 &month, Int32 &day)
     
    String TimeToString (const DateTime &d, const Bool bShowSeconds=true)
     
    String DateToString (const DateTime &d)
     
    String GetMonthName (Int month)
     
    void ValidateDate (Int32 &year, Int32 &month, Int32 &day)
     
    void ValidateTime (Int32 &hour, Int32 &minute, Int32 &second)
     
    enum cinema::DESCPROP MAXON_ENUM_FLAGS (DESCPROP)
     
    enum cinema::AMFILTERFLAGS MAXON_ENUM_FLAGS (AMFILTERFLAGS)
     
    enum cinema::FIELDLIST_FLAGS MAXON_ENUM_FLAGS (FIELDLIST_FLAGS)
     
    enum cinema::FONTCHOOSER_POPUP_RESULT MAXON_ENUM_LIST (FONTCHOOSER_POPUP_RESULT)
     
    Bool OpenFontChooserPopup (const BaseContainer &font, maxon::Delegate< void(FONTCHOOSER_POPUP_RESULT, const BaseContainer &)> callback, Bool useReducedFontList=false, Int32 screenPositionX=-1, Int32 screenPositionY=-1)
     
    void FillCustomIconSettingsFromBaseList2D (CustomIconSettings &settings, const BaseContainer &data, Int32 defaultIconId, Bool fillDefault)
     
    Bool GetCustomIcon (GetCustomIconData &cid, const CustomIconSettings &settings, Bool drawBeforeColoring=false, CustomIconGetIdDelegate *getIdCallback=nullptr, CustomIconDrawDelegate *drawCallback=nullptr)
     
    void FreeInclusionTable (InclusionTable *&pTable)
     
    Kerning BlendKerning (const Kerning &k1, const Kerning &k2, Float mix)
     
    Bool HandleKerningMessages (GeListNode *node, Int32 msgId, Int32 kerningDescID, Int32 textDescID, void *msgData, KerningVpGuiHelper *guihelper)
     
    Bool CalculateLockListResolution (BaseDocument *doc, const Filename &filename, Int32 *xres, Int32 *yres)
     
    Bool CalculateLockListFilename (BaseDocument *doc, Filename &fn, const LayerSet *lsl)
     
    void FreeInclusionTable (MatAssignTable *&pTable)
     
    Bool SetDParameterPreview (BaseContainer *pContainer, const GeData *pData, DESCFLAGS_SET &lFlags, Int32 lID)
     
    Bool GetDParameterPreview (BaseContainer *pContainer, GeData *pData, DESCFLAGS_GET &lFlags, Int32 lID, Int32 lCount, BaseMaterial *pMaterial)
     
    Bool GetDParameterPreview (BaseContainer *pContainer, GeData *pData, DESCFLAGS_GET &lFlags, Int32 lID, Int32 lCount, BaseShader *pShader)
     
    BaseContainer GetPreviewScenes (Bool bIncludeFlat2D, Bool bIncludeDefault=false, Int32 lObjectID=-1)
     
    Bool HandlePreviewSceneMessage (Int32 lID, MatPreviewType &t, maxon::String &strScene)
     
    Bool AddUserPreviewScene (const Filename &fn, Int32 lID, maxon::String *pstrName)
     
    RENDERRESULT RenderMaterialPreview (const Filename &docpath, BaseMaterial *pMatClone, BaseMaterial *pOrigMat, BaseThread *pThread, BaseBitmap *pDest, BaseDocument *pOriginalDoc, Float rCurrentTime, Int32 lFlags=0)
     
    RENDERRESULT RenderShaderPreview (const Filename &docpath, BaseShader *pShaderClone, BaseShader *pOrigShader, BaseThread *pThread, BaseBitmap *pDest, BaseDocument *pOriginalDoc, Float rCurrentTime, Int32 lFlags=0)
     
    RENDERRESULT RenderCustomPreview (RenderPreviewImageCallback fn, void *pUserData, Int32 lUserID, BaseThread *pThread, BaseBitmap *pDest, Int32 lFlags=0)
     
    enum cinema::DOCUMENT_UNIT MAXON_ENUM_LIST (DOCUMENT_UNIT)
     
    enum cinema::CUSTOMTYPE MAXON_ENUM_LIST (CUSTOMTYPE)
     
    Bool RegisterCustomGuiPlugin (const maxon::String &str, Int32 info, CustomGuiData *dat)
     
    CUSTOMGUIPLUGIN * FindCustomGuiPlugin (Int32 type)
     
     MAXON_DATATYPE (GeData, "net.maxon.data.gedata")
     
    void FillFalloffPlugin (FALLOFFPLUGIN *fp, Int32 info, FalloffDataAllocator *g)
     
    Bool RegisterFalloffPlugin (Int32 id, const maxon::String &str, Int32 info, FalloffDataAllocator *g, const maxon::String &description)
     
    void * AllocFalloff (Int32 type)
     
    FIELDSAMPLE_FLAG ExtractSampleFlags (const ConstFieldOutputBlock &block)
     
    Bool ValidateFieldOutputBlockWithFlags (const FieldOutputBlock &block, FIELDSAMPLE_FLAG flags)
     
    Bool RegisterFieldPlugin (Int32 id, const maxon::String &name, const maxon::String &help, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel)
     
    Bool RegisterFieldLayerPlugin (Int32 id, const maxon::String &name, const maxon::String &help, const maxon::String &pickInstruction, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel, FieldLayerAcceptDragFunction *dragFunc=nullptr)
     
    FILEERROR ReadHyperFile (BaseDocument *doc, GeListNode *node, const Filename &filename, Int32 ident, maxon::String *warning_string)
     
    FILEERROR WriteHyperFile (BaseDocument *doc, GeListNode *node, const Filename &filename, Int32 ident)
     
    Bool GeFExist (const Filename &name, Bool isdir=false)
     
    Bool GeSearchFile (const Filename &directory, const Filename &name, Filename *found)
     
    Bool GeFKill (const Filename &name, Int32 flags=0)
     
    Bool GeFCopyFile (const Filename &source, const Filename &dest, Int32 flags)
     
    Bool GeFRename (const Filename &source, const Filename &dest)
     
    Bool GeFMove (const Filename &source, const Filename &dest)
     
    Bool GeFCreateDir (const Filename &name)
     
    Bool GeFCreateDirRec (const Filename &name)
     
    Bool GeFGetDiskFreeSpace (const Filename &vol, UInt64 &freecaller, UInt64 &total, UInt64 &freespace)
     
    UInt32 GeFGetAttributes (const Filename &name)
     
    Bool GeFSetAttributes (const Filename &name, UInt32 flags, UInt32 mask=(UInt32) - 1)
     
    Bool GeExecuteFile (const Filename &path)
     
    Bool GeExecuteProgram (const Filename &program, const Filename &file)
     
    const Filename GeGetStartupPath ()
     
    const Filename GeGetStartupApplication ()
     
    const Filename GeGetStartupWritePath ()
     
    const Filename GeGetPluginPath ()
     
    Filename GeGetPluginResourcePath ()
     
    const Filename GeGetC4DPath (Int32 whichpath)
     
    Bool GeGetFileTime (const Filename &name, Int32 mode, LocalFileTime *out)
     
    Bool GeSetFileTime (const Filename &name, Int32 mode, const LocalFileTime *in)
     
    void GeGetCurrentTime (LocalFileTime *out)
     
    String DateToString (const LocalFileTime &t, Bool date_only)
     
    Bool ShowInFinder (const Filename &fn, Bool open)
     
    Bool RequestFileFromServer (const Filename &fn, Filename &res)
     
    maxon::String ToString (const Filename &val, const maxon::FormatStatement *formatStatement, maxon::Bool checkDatatype=false)
     
    maxon::Url MaxonConvert (const Filename &fn, MAXONCONVERTMODE convertMode)
     
    Filename MaxonConvert (const maxon::Url &fn)
     
    enum cinema::BITMAPLOADERACTION MAXON_ENUM_LIST (BITMAPLOADERACTION)
     
    Bool RegisterBitmapLoaderPlugin (Int32 id, const maxon::String &str, Int32 info, BitmapLoaderData *dat)
     
    Bool RegisterBitmapSaverPlugin (Int32 id, const maxon::String &str, Int32 info, BitmapSaverData *dat, const maxon::String &suffix)
     
    Bool RegisterSceneLoaderPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description)
     
    Bool RegisterSceneSaverPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, const maxon::String &suffix)
     
    maxon::String GeGetUserName ()
     
    VERSIONTYPE GeGetVersionType ()
     
    maxon::Result< void > GetGeneralLicensingInformation (maxon::String &productId, maxon::String &systemId, maxon::String &userId, maxon::String &licenseId, maxon::String &userName)
     
    maxon::Result< maxon::StringExportLicenses ()
     
    maxon::Result< void > AddLicenseItem (const maxon::InternedId &licenseItemId, Float versionNumber, Bool checkOnly, maxon::CustomLicenseItemDelegate &&licenseUpdateCallback)
     
    maxon::Bool CheckLicenseFeature (const maxon::InternedId &featureId)
     
    Bool HasFullFeatureSet ()
     
    Bool IsNet ()
     
    Bool IsServer ()
     
    Bool IsClient ()
     
    void GeShowMouse (Int32 v)
     
    Bool GeGetScreenDimensions (Int32 x, Int32 y, Bool whole_screen, Int32 *sx1, Int32 *sy1, Int32 *sx2, Int32 *sy2)
     
    Int32 GeGetTimer ()
     
    Float64 GeGetMilliSeconds ()
     
    String GeGetLineEnd ()
     
    Int32 GeGetDefaultFPS ()
     
    UInt32 GeGetCinemaInfo (CINEMAINFO info)
     
    GEMB_R GeOutString (const maxon::String &str, GEMB flags)
     
    OPERATINGSYSTEM GeGetCurrentOS ()
     
    BYTEORDER GeGetByteOrder ()
     
    void GeGetGray (Int32 *r, Int32 *g, Int32 *b)
     
    Bool GeChooseColor (Vector *col, Int32 flags)
     
    Bool GeChooseColorAlpha (maxon::ColorA *col, Int32 flags)
     
    Bool GeOpenHTML (const maxon::String &webaddress)
     
    Bool GeChooseFont (BaseContainer *bc)
     
    void GeGetGuiFont (maxon::OSFontDefinition &out)
     
    void GeGetMonoFont (maxon::OSFontDefinition &out)
     
    Bool GeRegisterPlugin (PLUGINTYPE type, Int32 id, const maxon::String &str, void *data, Int32 datasize)
     
    void GePrint (const maxon::String &str)
     
    void GeConsoleOut (const maxon::String &str)
     
    Bool GeGetMovieInfo (const Filename &fn, Int32 *frames, Float *fps)
     
    Bool RenameDialog (String *str)
     
    Int32 GetC4DVersion ()
     
    String GeGetDegreeChar ()
     
    String GeGetPercentChar ()
     
    void SetMousePointer (Int32 l)
     
    Bool ShowBitmap (const Filename &fn)
     
    Bool ShowBitmap (BaseBitmap *bm)
     
    void StopAllThreads ()
     
    void StopDrawViewsThread ()
     
    Bool ShutdownThreads (Bool shutdown)
     
    void SpecialEventAdd (Int32 messageid, UInt p1=0, UInt p2=0)
     
    void EventAdd (EVENT eventflag=EVENT::NONE)
     
    Bool GeSyncMessage (Int32 messageid, Int32 destid=0, UInt p1=0, UInt p2=0)
     
    Bool DrawViews (DRAWFLAGS flags, BaseDraw *bd=nullptr)
     
    Bool SendModelingCommand (Int32 command, ModelingCommandData &data)
     
    maxon::Result< TexturePathListGetGlobalTexturePaths (const Filename *docPath)
     
    maxon::Result< void > SetGlobalTexturePaths (const TexturePathList &paths)
     
    Bool GenerateTexturePath (const Filename &docpath, const Filename &srcname, const Filename &suggestedfolder, Filename *dstname, NetRenderService *service=nullptr, BaseThread *bt=nullptr)
     
    Bool IsInSearchPath (const Filename &texfilename, const Filename &docpath)
     
    void FlushTexture (const Filename &docpath, const maxon::String &name, const Filename &suggestedfolder)
     
    void FlushUnusedTextures ()
     
    BaseContainer GetWorldContainer ()
     
    BaseContainerGetWorldContainerInstance ()
     
    void GetAdditionalWorldContainerData (BaseContainer &bc)
     
    maxon::Result< maxon::BaseArray< maxon::Url > > GetRecentDocumentsList (Bool isBodyPaint)
     
    maxon::Id GetActiveNodeSpaceId ()
     
    void SaveWorldPreferences ()
     
    void SetWorldContainer (const BaseContainer &bc)
     
    Vector GetViewColor (Int32 colid, Vector *defaultColor=nullptr)
     
    void SetViewColor (Int32 colid, const Vector &col)
     
    void ErrorStringDialog (CHECKVALUERANGE type, Float x, Float y, CHECKVALUEFORMAT is)
     
    Bool ReadPluginInfo (Int32 pluginid, void *buffer, Int32 size)
     
    Bool WritePluginInfo (Int32 pluginid, void *buffer, Int32 size)
     
    Bool ReadRegInfo (Int32 pluginid, void *buffer, Int32 size)
     
    Bool WriteRegInfo (Int32 pluginid, void *buffer, Int32 size)
     
    BaseContainerGetWorldPluginData (Int32 id)
     
    Bool SetWorldPluginData (Int32 id, const BaseContainer &bc, Bool add=true)
     
    BaseContainerGetToolPluginData (BaseDocument *doc, Int32 id)
     
    Bool GeIsActiveToolEnabled ()
     
    ToolPluginGetActiveTool ()
     
    Bool GeGetLanguage (Int32 index, maxon::String *extension, maxon::String *name, Bool *default_language)
     
    Filename GeFilterSetSuffix (const Filename &name, Int32 id)
     
    IDENTIFYFILE GeIdentifyFile (const Filename &name, UChar *probe, Int32 probesize, IDENTIFYFILE recognition, BasePlugin **bp)
     
    GeListHeadGetScriptHead (Int32 type)
     
    Int32 GetDynamicScriptID (BaseList2D *bl)
     
    void SetActiveScriptObject (Int32 type)
     
    BaseList2DCreateNewPythonScript (String &name, const String &body)
     
    BaseList2DLoadPythonScript (const Filename &fn)
     
    Bool GetCommandLineArgs (C4DPL_CommandLineArgs &args)
     
    String GetObjectName (Int32 type)
     
    String GetTagName (Int32 type)
     
    Int32 GetObjectType (const maxon::String &name)
     
    Int32 GetTagType (const maxon::String &name)
     
    Bool GeRegistryAdd (Int32 sub_id, REGISTRYTYPE main_id, void *data)
     
    Bool GeRegistryRemove (Int32 sub_id, REGISTRYTYPE main_id)
     
    RegistryGeRegistryFind (Int32 sub_id, REGISTRYTYPE main_id)
     
    RegistryGeRegistryGetLast (REGISTRYTYPE main_id)
     
    RegistryGeRegistryGetFirst (REGISTRYTYPE main_id)
     
    Bool GeRegistryGetAutoID (Int32 *id)
     
    Bool GePluginMessage (Int32 id, void *data)
     
    Bool CheckIsRunning (CHECKISRUNNING type)
     
    String GeGetDefaultFilename (Int32 id)
     
    void FindInManager (BaseList2D *bl)
     
    void GeSleep (Int32 milliseconds)
     
    Bool GeIsMainThread ()
     
    Bool GeIsMainThreadAndNoDrawThread ()
     
    void _GeDebugBreak (Int32 line, const Char *file)
     
    void GeDebugOut (const Char *s,...)
     
    void GeDebugOut (const maxon::String &s)
     
    GeData SendCoreMessage (Int32 coreid, const BaseContainer &msg, Int32 eventid=0)
     
    String GetMacModel (const maxon::String &machinemodel)
     
    enum cinema::MACHINEFEATURESTYPE MAXON_ENUM_LIST (MACHINEFEATURESTYPE)
     
    BaseContainer GetMachineFeatures (MACHINEFEATURESTYPE type=MACHINEFEATURESTYPE::HARDWARE_OGL)
     
    Bool GeGetMemoryStat (BaseContainer &stat)
     
    Bool PopupEditText (Int32 screenx, Int32 screeny, Int32 width, Int32 height, const maxon::String &changeme, maxon::Delegate< void(POPUPEDITTEXTCALLBACK, maxon::String &)> func)
     
    void StartEditorRender (Bool active_only, Bool raybrush, Int32 x1, Int32 y1, Int32 x2, Int32 y2, BaseThread *bt, BaseDraw *bd, Bool newthread)
     
    String FormatNumber (const GeData &val, Int32 format, Int32 fps, Bool bUnit=true)
     
    GeData StringToNumber (const maxon::String &text, Int32 format, Int32 fps, const LENGTHUNIT *lengthunit=nullptr)
     
    void CallCommand (Int32 id, Int32 subid=0)
     
    String GetCommandName (Int32 id)
     
    String GetCommandHelp (Int32 id)
     
    Bool IsCommandEnabled (Int32 id)
     
    Bool IsCommandChecked (Int32 id)
     
    Bool GetSystemEnvironmentVariable (const maxon::String &varname, maxon::String &result)
     
    Bool AskForAdministratorPrivileges (const maxon::String &msg, const maxon::String &caption, Bool allowsuperuser, void **token)
     
    void EndAdministratorPrivileges ()
     
    void RestartApplication (const Utf16Char *param=nullptr, Int32 exitcode=0, const Utf16Char **path=nullptr)
     
    void SetExitCode (Int32 exitCode)
     
    void GeUpdateUI ()
     
    VIEWPORTTYPE GeGetActiveViewportType ()
     
    Int32 GetShortcutCount ()
     
    BaseContainer GetShortcut (Int32 index)
     
    Bool AddShortcut (const BaseContainer &bc)
     
    Bool RemoveShortcut (Int32 index)
     
    Bool LoadShortcutSet (const Filename &fn, Bool add)
     
    Bool SaveShortcutSet (const Filename &fn)
     
    Int32 FindShortcutsFromID (Int32 pluginid, Int32 *indexarray, Int32 maxarrayelements)
     
    Int32 FindShortcuts (const BaseContainer &scut, Int32 *idarray, Int32 maxarrayelements)
     
    Bool CheckCommandShortcut (Int32 id, Int32 key, Int32 qual)
     
    void InsertCreateObject (BaseDocument *doc, BaseObject *op, BaseObject *activeobj=nullptr)
     
    void CopyToClipboard (const maxon::String &text)
     
    void CopyToClipboard (BaseBitmap *map, Int32 ownerid)
     
    Bool GetStringFromClipboard (String *txt)
     
    Bool GetBitmapFromClipboard (BaseBitmap *map)
     
    CLIPBOARDTYPE GetClipboardType ()
     
    Int32 GetC4DClipboardOwner ()
     
    const BaseBitmapGetCursorBitmap (Int32 type, Int32 &hotspotx, Int32 &hotspoty)
     
    Bool CodeEditor_Open (BaseList2D *obj, const maxon::Delegate< GeData(BaseList2D *obj, const BaseContainer &msg)> &callback, const BaseContainer &bc=BaseContainer())
     
    void MinimalViewportSettingsCommand (Int32 type)
     
    Bool IsAnimationRunning (const BaseDocument *document)
     
    Bool IsUVToolMode (const BaseDocument *document)
     
    Int32 GetFormatDepth (Int32 format, Int32 depth)
     
    Int32 SizePixChr (Int32 pixels, Int32 chars)
     
    Int32 SizePix (Int32 pixels)
     
    Int32 SizeChr (Int32 chars)
     
    void MessageDialog (const maxon::String &str)
     
    void MessageDialog (Int32 id)
     
    void MessageDialog (Int32 id, const maxon::String &p1)
     
    void MessageDialog (Int32 id, const maxon::String &p1, const maxon::String &p2)
     
    Bool QuestionDialog (const maxon::String &str)
     
    Bool QuestionDialog (Int32 id)
     
    Bool QuestionDialog (Int32 id, const maxon::String &p1)
     
    Bool QuestionDialog (Int32 id, const maxon::String &p1, const maxon::String &p2)
     
    Bool GetInputEvent (Int32 askdevice, BaseContainer &res)
     
    Bool GetInputState (Int32 askdevice, Int32 askchannel, BaseContainer &res)
     
    Int32 ShowPopupMenu (CDialog *cd, Int32 screenx, Int32 screeny, const BaseContainer &bc, Int32 flags=POPUP_RIGHT|POPUP_EXECUTECOMMANDS|POPUP_ALLOW_FILTERING, Int32 *res_mainid=nullptr)
     
    Bool RemoveLastCursorInfo (LASTCURSORINFOFUNC func)
     
    String Shortcut2String (Int32 shortqual, Int32 shortkey)
     
    String Shortcut2String (const BaseContainer &sc)
     
    Vector GetGuiWorldColor (Int32 cid)
     
    Bool GetIconCoordInfo (Int32 &id, const Char *ident)
     
    Bool GetInterfaceIcon (Int32 type, Int32 id_x, Int32 id_y, Int32 id_w, Int32 id_h, IconData &d)
     
    Bool GeIsTabletMode ()
     
    Float GetMouseMoveDelta ()
     
    void SetBakeStatus (Bool state)
     
    Bool GetBakeStatus ()
     
    Filename GetDnDFilename (const BaseContainer &msg, Int32 dragType, const void *dragObj, Bool texturesOnly, Bool updateUsage, Bool loadUrl)
     
    GvWorldGvGetWorld ()
     
    const String GvGetEmptyString ()
     
    const String GvGetErrorString (const maxon::String &command, Int32 err)
     
    void GvGetPortList (GvPortsDescInfo *info, GvPortIO port, GvPortList &portlist)
     
    Bool GvGetPortDescription (GvPortsDescInfo *info, GvPortIO port, Int32 id, GvPortDescription *pd)
     
    Bool GvGetAllDataTypes (GvPortDescInfo *info, UInt32 default_flag, Int32 first_id)
     
    void GvFreePortDescInfo (GvPortDescInfo *info)
     
    Bool GvRegisterOpClassType (GV_OPCLASS_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterOpGroupType (GV_OPGROUP_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterValueType (GV_VALUE_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterDataType (GV_DATA_HANDLER *data, Int32 struct_size, const char *symbol=nullptr)
     
    Bool GvRegisterValGroupType (GV_VALGROUP_HANDLER *data, Int32 struct_size)
     
    GV_OPCLASS_HANDLERGvFindRegisteredOpClass (GvOpClassID id)
     
    GV_OPGROUP_HANDLERGvFindRegisteredOpGroup (GvOpGroupID id)
     
    const String GvGetOperatorDetailedText (const GvOperatorData *op, const GvNode *bn)
     
    const String GvGetOperatorTitle (const GvNode *bn, Int32 string_id)
     
    void GvFreeValuesTable (GvNode *bn, maxon::BaseArray< GvValue * > &ports)
     
    void GvFreeValuesTable (GvNode *bn, GvValuesInfo &info)
     
    Bool GvBuildInValuesTable (GvNode *bn, maxon::BaseArray< GvValue * > &ports, GvCalc *c, GvRun *r, Int32 *ids)
     
    Bool GvBuildOutPortsTable (GvNode *bn, maxon::BaseArray< GvPort * > &ports)
     
    Bool GvBuildValuesTable (GvNode *bn, maxon::BaseArray< GvPort * > &in_ports, maxon::BaseArray< GvPort * > &out_ports)
     
    Bool GvCalculateInValuesTable (GvNode *bn, GvRun *run, GvCalc *calc, GvValuesInfo &info, Int32 singleport=((cinema::GvValueType)(-1)), BaseTime *time=nullptr)
     
    Bool GvBuildInValuesTable (GvNode *bn, GvValuesInfo &info, GvCalc *c, GvRun *r, GvIdTablePtr ids)
     
    Bool GvBuildOutValuesTable (GvNode *bn, GvValuesInfo &info)
     
    Bool GvBuildValuesTable (GvNode *bn, GvValuesInfo &info, GvCalc *c, GvRun *r, GvIdTablePtr input_ids)
     
    const GvDataInfoGvGetDataInfo (const GvNode *bn, Int32 id)
     
    GvDataInfoGvGetDataInfo (GvNode *bn, Int32 id)
     
    Bool GvCheckDataInfo (GvNode *bn, Int32 id)
     
    Bool GvAllocDynamicData (GvNode *bn, GvDynamicData &data, GvCalc *c, Int32 id)
     
    void GvFreeDynamicData (GvDynamicData &data)
     
    void GvClearDynamicData (GvDynamicData &data, GvRun *r)
     
    void GvClearDynamicData (GvDynamicData &data)
     
    Bool GvAllocDynamicDataClear (GvNode *bn, GvDynamicData &data, GvCalc *c, Int32 id)
     
    Bool GvAllocDynamicData (GvNode *bn, GvDynamicData &data, GvDataInfo *info)
     
    Bool GvSetDataInContainer (const void *const data, GvValueID value_id, BaseContainer &bc, Int32 container_id, Int32 cpu_id=0)
     
    GvNodeGetNode (GeListNode *bn)
     
    Bool GvRegisterOperatorPlugin (GvOperatorID id, const maxon::String &str, Int32 info, DataAllocator *at, const maxon::String &description, Int32 disklevel, GvOpClassID op_class, GvOpGroupID op_group, Int32 op_owner, BaseBitmap *icon)
     
    Bool InitThinkingParticles ()
     
    Bool RegisterPluginHelpDelegate (Int32 pluginId, PluginHelpDelegate delegate)
     
    void OpenHelpBrowser (const maxon::String &opType, const maxon::String &baseType, const maxon::String &group, const maxon::String &property)
     
    Bool InstallLibrary (Int32 id, C4DLibrary *lib, Int32 version, Int32 size)
     
    Bool UninstallLibrary (C4DLibrary *lib, Int32 version, Int32 size)
     
    C4DLibraryCheckLibI (Int32 id, Int offset, C4DLibrary **store)
     
    template<typename LIBCLASS = C4DLibrary>
    MAXON_ATTRIBUTE_FORCE_INLINE LIBCLASS * CheckLib (Int32 id, Int offset, LIBCLASS *&store)
     
    Bool IsLibraryInstalled (Int32 id)
     
    enum cinema::ACTIVEOBJECTMODE MAXON_ENUM_LIST (ACTIVEOBJECTMODE)
     
    Bool ActiveObjectManager_RegisterMode (ACTIVEOBJECTMODE id, const String &text, MESSAGEHOOK *hook)
     
    void ActiveObjectManager_SetMode (ACTIVEOBJECTMODE id, Bool openmanager)
     
    void ActiveObjectManager_SetObjects (ACTIVEOBJECTMODE id, const AtomArray &objects, Int32 flags, const DescID &activepage=DescID())
     
    void ActiveObjectManager_SetObject (ACTIVEOBJECTMODE id, C4DAtom *op, Int32 flags, const DescID &activepage=DescID())
     
    void ActiveObjectManager_Open ()
     
    Bool EditObjectModal (const AtomArray &objects, const String &dlgtitle)
     
    Bool EditObjectModal (C4DAtom *op, const String &dlgtitle)
     
    Bool EditDescription (C4DAtom *bl, const DescID &id)
     
    void AddDescription (C4DAtom *bl)
     
    void PasteDescription (C4DAtom *bl)
     
    Bool ActiveObjectManager_GetObjects (ACTIVEOBJECTMODE id, AtomArray &objects)
     
    Bool ActiveObjectManager_GetModeInfo (ACTIVEOBJECTMODE id, ActiveModeInfo &info)
     
    Int32 ActiveObjectManager_GetModeCount ()
     
    Bool ActiveObjectManager_GetModeInfoIdx (Int32 idx, ActiveModeInfo &info)
     
    ACTIVEOBJECTMODE ActiveObjectManager_GetLastMode ()
     
    BatchRenderGetBatchRender ()
     
    void RemoveXRefData (const BaseDocument *doc, BaseList2D *bl)
     
    Bool HasDocumentXRefs (const BaseDocument *doc)
     
    Int32 GetDocumentXRefState ()
     
    UInt64 GetXRefID (BaseList2D *bl)
     
    Bool XRefHasParam (BaseDocument *doc, BaseList2D *bl, const DescID &id)
     
    Bool XRefGetParam (BaseDocument *doc, BaseList2D *bl, const DescID &id, GeData &dat)
     
    Bool XRefRemoveParam (BaseDocument *doc, BaseList2D *bl, const DescID &id)
     
    enum cinema::CAMORPH_COPY_FLAGS MAXON_ENUM_FLAGS (CAMORPH_COPY_FLAGS)
     
    enum cinema::CAMORPH_MODE_FLAGS MAXON_ENUM_FLAGS (CAMORPH_MODE_FLAGS)
     
    enum cinema::CAMORPH_MODE MAXON_ENUM_LIST (CAMORPH_MODE)
     
    enum cinema::CAMORPH_DATA_FLAGS MAXON_ENUM_FLAGS (CAMORPH_DATA_FLAGS)
     
    enum cinema::GE_CM_CLIPREGION MAXON_ENUM_LIST (GE_CM_CLIPREGION)
     
    enum cinema::GE_CM_DRAWMODE MAXON_ENUM_LIST (GE_CM_DRAWMODE)
     
    enum cinema::GE_CM_BLIT MAXON_ENUM_LIST (GE_CM_BLIT)
     
    enum cinema::GE_CM_ARCSEGMENT MAXON_ENUM_LIST (GE_CM_ARCSEGMENT)
     
    enum cinema::GE_CM_FONTSORT MAXON_ENUM_LIST (GE_CM_FONTSORT)
     
    BaseObjectFindSkyObject (BaseDocument *pDoc)
     
    enum cinema::SWATCH_CATEGORY MAXON_ENUM_LIST (SWATCH_CATEGORY)
     
    String ColorRGBToString (const Vector &color)
     
    String ColorHSVToString (const Vector &color)
     
    Int ColorComponentFloatTo8Bit (Float colorComponent)
     
    Float ColorComponent8BitToFloat (Int colorComponent)
     
    void ColorFloatTo8Bit (const Vector &floatColor, Int &red, Int &green, Int &blue)
     
    Vector Color8BitToFloat (Int red, Int green, Int blue)
     
    Int ColorComponentFloatTo16Bit (Float colorComponent)
     
    Float ColorComponent16BitToFloat (Int colorComponent)
     
    void ColorFloatTo16Bit (const Vector &floatColor, Int &red, Int &green, Int &blue)
     
    Vector Color16BitToFloat (Int red, Int green, Int blue)
     
    Vector ColorKelvinTemperatureToRGB (Float kelvinDegrees, Float tint=0.0)
     
    Bool ColorHarmonyGetComplementary (const Vector &color, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyGetSplitComplementary (const Vector &color, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyGetTetradic (const Vector &color, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyGetAnalogous (const Vector &color, Int colorCount, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyGetEquiangular (const Vector &color, Int colorCount, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyRotateColor (const Vector &color, Int colorCount, Float angle, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    Bool ColorHarmonyInterpolateColors (const Vector &color1, const Vector &color2, Int colorCount, Bool ryb, maxon::BaseArray< Vector > &palette)
     
    CustomaDataTagLibrary * CheckCustomaDataTagLibrary (Int32 offset)
     
    enum cinema::CUSTOMDATATAG_MODE MAXON_ENUM_LIST (CUSTOMDATATAG_MODE)
     
    enum cinema::DATETIMEPARSERMODE MAXON_ENUM_LIST (DATETIMEPARSERMODE)
     
    DescriptionLib * CheckDescriptionLib (Int32 offset)
     
    Bool Description_Register (Int32 id, const String &idstr, LocalResource *res)
     
    Bool xConvertToPolygons (BaseObject *oroot, BaseObject *destination, Int32 flags)
     
    Bool xConvertToPolygonGroups (BaseObject *oroot, BaseObject *destination, Int32 flags)
     
    Bool xCenterAxis (BaseObject *oroot)
     
    Bool xFilterModelSpaceCurves (BaseObject *oroot)
     
    const Matrix mswap (Vector(0.0), Vector(1., 0., 0.), Vector(0., 0., 1.), Vector(0., -1., 0.))
     
    Vector NegZ (Vector value)
     
    Bool SelectionListCreate (BaseDocument *doc, BaseObject *parent, BaseDraw *bd, Float mx, Float my, LassoSelection *ls, C4DObjectList *list, Bool use_selection_filter=true, Bool use_display_filter=true)
     
    Bool FilteredSelectionListCreate (BaseDocument *doc, AtomArray *arr, BaseDraw *bd, Float mx, Float my, LassoSelection *ls, C4DObjectList *list, Bool use_selection_filter=true, Bool use_display_filter=true)
     
    Int32 SelectionListShowMenu (BaseDocument *doc, Float screenx, Float screeny, C4DObjectList *list)
     
    Bool ShowObjectArt (BaseDocument *doc, Int32 art, const ManagerInfo &minfo)
     
    Bool IsObjectHidden (BaseDocument *doc, BaseList2D *bl, const ManagerInfo &minfo)
     
    Bool IsObjectSearchable (BaseDocument *doc, BaseList2D *bl, const ManagerInfo &minfo)
     
    Bool IsLayerHidden (BaseDocument *doc, LayerObject *op, const ManagerInfo &minfo)
     
    Bool SetLayerHidden (BaseDocument *doc, LayerObject *op, const ManagerInfo &minfo, Bool hide)
     
    Bool BuildFilterList (BaseDocument *doc)
     
    enum cinema::HAIR_MSG_DATA_FLAG MAXON_ENUM_FLAGS (HAIR_MSG_DATA_FLAG)
     
    enum cinema::HAIR_MSG_DATA_TYPE MAXON_ENUM_LIST (HAIR_MSG_DATA_TYPE)
     
    enum cinema::ICONFLAG MAXON_ENUM_FLAGS (ICONFLAG)
     
    Bool RegisterIcon (Int32 lIconID, BaseBitmap *pBmp, Int32 x=0, Int32 y=0, Int32 w=-1, Int32 h=-1, ICONFLAG lFlags=ICONFLAG::NONE)
     
    Bool RegisterIcon (Int32 lIconID, Filename fn, Int32 x=0, Int32 y=0, Int32 w=-1, Int32 h=-1, ICONFLAG lFlags=ICONFLAG::NONE)
     
    Bool GetIcon (Int32 lIconID, IconData *pData)
     
    Bool UnregisterIcon (Int32 lIconID)
     
    enum cinema::INTERSECTTYPE MAXON_ENUM_LIST (INTERSECTTYPE)
     
    enum cinema::TASKSTATE MAXON_ENUM_FLAGS (TASKSTATE)
     
    Bool IsNetRenderInstalled ()
     
    NetRenderServiceGetGlobalNetRenderService ()
     
    String GetMachineDescription (const NetRenderService *service, Machine *m)
     
    String VerificationBitToString (VERIFICATIONBIT state)
     
    String JobCommandToString (JOBCOMMAND command)
     
    String JobStateToString (JOBSTATE state)
     
    String GetDebugStringOfMachine (const Machine *m)
     
    void SetErrorLevel (Bool printDebugErrors, Bool stackInErrors, Bool locationInErrors)
     
    MESSAGERESULT NetSpecialEventAdd (NetRenderService *service, const C4DUuid &remoteUuid, const BaseContainer &msg, Bool forceConnect=false)
     
    MESSAGERESULT NetGeSyncMessage (NetRenderService *service, const C4DUuid &remoteUuid, const BaseContainer &msg, BaseContainer &result, BaseThread *bt=nullptr, Bool forceConnect=false)
     
    MESSAGERESULT NetSendData (NetRenderService *service, const C4DUuid &remoteUuid, NetRenderBuffer *data, NetRenderBuffer *result, BaseThread *bt=nullptr)
     
    Bool NetSendMessageToServer (NetRenderService *service, const C4DUuid &remoteUuid, const C4DUuid &jobUuid, SERVERMESSAGE type, const String &messageString, Bool doConsoleOutput=false, Int32 frameNumber=NOTOK)
     
    Bool NetSendMessageToServer (NetRenderService *service, const C4DUuid &remoteUuid, const C4DUuid &jobUuid, SERVERMESSAGE type, RENDERRESULT res, const String &messageString, Bool doConsoleOutput=false, Int32 frameNumber=NOTOK)
     
    Bool NetRenderCacheGet (NetRenderDocumentContext *context, Bool isServer, Int32 cacheID, void *&data, Int32 &size)
     
    Bool NetRenderCacheGetTask (NetRenderDocumentContext *context, Bool isServer, Int32 cacheID, Int32 &taskID, Int32 &taskSubdivisions)
     
    Bool NetRenderCacheSendTask (NetRenderDocumentContext *context, Bool isServer, Int32 cacheID, Int32 taskID, void *data, Int32 size, Bool progress)
     
    Bool NetRenderCacheProgress (NetRenderDocumentContext *context, Int32 cacheID, Int32 lastIndex, void *&data, Int32 &size, BaseThread *thread)
     
    Bool NetRenderCachePrepass (NetRenderDocumentContext *context, Int32 cacheID, Bool &completed)
     
    Bool NetRenderGetFileFromServer (NetRenderService *context, const Filename &sourcePathOrName, Filename &result, BaseThread *bt=nullptr)
     
    maxon::Result< void > NetRenderGetAssetFromServer (NetRenderService *service, const Filename &sourcePathOrName, Filename &result, SERVERMESSAGE raiseServerMessageIfNotFound, maxon::ThreadInterface *bt=nullptr)
     
    PaintManagerGetPaintManager ()
     
    PaintViewGetPaintView (PaintManager *paintManager, Int32 viewId)
     
    Bool PrefsLib_InitPrefs ()
     
    Bool PrefsLib_OpenDialog (Int32 page)
     
    void CheckPrefsData (BaseContainer *worldcontainer, Int32 containerid, const GeData &defaultvalue)
     
    enum cinema::REGPARSEMODE MAXON_ENUM_LIST (REGPARSEMODE)
     
    SculptObjectGetSelectedSculptObject (BaseDocument *doc, Bool includeHiddenObjects=false)
     
    const SculptObjectGetSelectedSculptObject (const BaseDocument *doc, Bool includeHiddenObjects=false)
     
    SculptObjectMakeSculptObject (PolygonObject *poly, BaseDocument *doc, Bool addUndo=false)
     
    Bool IsObjectEnabled (BaseObject *pObject)
     
    void EnsureSculptObjectReady (PolygonObject *obj, BaseDocument *doc)
     
    enum cinema::SCULPTBRUSHID MAXON_ENUM_LIST (SCULPTBRUSHID)
     
    enum cinema::FIRSTHITPPOINTTYPE MAXON_ENUM_LIST (FIRSTHITPPOINTTYPE)
     
    enum cinema::SCULPTBRUSHMODE MAXON_ENUM_LIST (SCULPTBRUSHMODE)
     
    enum cinema::SCULPTBRUSHDATATYPE MAXON_ENUM_FLAGS (SCULPTBRUSHDATATYPE)
     
    enum cinema::OVERRIDE MAXON_ENUM_FLAGS (OVERRIDE)
     
    enum cinema::SAMPLEMODE MAXON_ENUM_FLAGS (SAMPLEMODE)
     
    enum cinema::SCULPTOFFSETFLAGS MAXON_ENUM_FLAGS (SCULPTOFFSETFLAGS)
     
    Bool RegisterBrushModifier (Int32 id, const String &name, DataAllocator *g, SCULPTBRUSHMODE mode, SCULPTBRUSHDATATYPE type, const String &resource, Bool hide=false, maxon::BaseArray< Int32 > *brushFilters=nullptr, maxon::BaseArray< Int32 > *brushRestrictions=nullptr, Int32 diskLevel=0)
     
    Bool AddSculptBrushModifierFunction (Int32 id, String name, SCULPTBRUSHMODE mode, SCULPTBRUSHDATATYPE type, maxon::BaseArray< Int32 > *brushFilters=nullptr, maxon::BaseArray< Int32 > *brushRestrictions=nullptr, Bool hide=false)
     
    Bool IsSculptBrush (Int32 toolID)
     
    SculptBrushToolDataGetSelectedSculptBrush (BaseDocument *doc)
     
    enum cinema::SUBSTANCE_MATERIAL_MODE MAXON_ENUM_LIST (SUBSTANCE_MATERIAL_MODE)
     
    enum cinema::SUBSTANCE_IMPORT_RESULT MAXON_ENUM_LIST (SUBSTANCE_IMPORT_RESULT)
     
    enum cinema::SUBSTANCE_IMPORT_COPY MAXON_ENUM_LIST (SUBSTANCE_IMPORT_COPY)
     
    enum cinema::SUBSTANCE_INPUT_TYPE MAXON_ENUM_LIST (SUBSTANCE_INPUT_TYPE)
     
    enum cinema::SUBSTANCE_OUTPUT_TYPE MAXON_ENUM_LIST (SUBSTANCE_OUTPUT_TYPE)
     
    enum cinema::TAKE_MODE MAXON_ENUM_LIST (TAKE_MODE)
     
    enum cinema::OVERRIDEENABLING MAXON_ENUM_FLAGS (OVERRIDEENABLING)
     
    Bool IsTakeRenderRunning ()
     
    void StopTakeRender ()
     
    BaseList2DGetFirstMarker (BaseDocument *doc)
     
    const BaseList2DGetFirstMarker (const BaseDocument *doc)
     
    BaseList2DAddMarker (BaseDocument *doc, BaseList2D *pPred, BaseTime time, String name, maxon::Color color=maxon::Color(), BaseTime length=BaseTime(), LayerObject *obj=nullptr)
     
    Bool GetAllTokenEntries (maxon::BaseArray< TokenEntry > &tokenList)
     
    String StringConvertTokens (const String &path, const RenderPathData *rpData)
     
    Filename FilenameConvertTokens (const Filename &path, const RenderPathData *rpData)
     
    String StringConvertTokensFilter (const String &path, const RenderPathData *rpData, const maxon::BaseArray< String > &exclude)
     
    Filename FilenameConvertTokensFilter (const Filename &path, const RenderPathData *rpData, const maxon::BaseArray< String > &exclude)
     
    String StringExtractRoot (const String &path)
     
    Filename FilenameExtractRoot (const Filename &path)
     
    Bool FilenameSlicePath (const Filename &path, Filename &root, Filename &fileName)
     
    Bool RegisterToken (const String &key, const String &help, const String &example, TOKENHOOK *hook)
     
    Bool RegisterHiddenToken (const String &key, const String &help, const String &example, TOKENHOOK *hook)
     
    Bool GetFileTime (const Filename &fn, UINT &nYear, UINT &nMonth, UINT &nDay, UINT &nHour, UINT &nMinute, UINT &nSec, Int32 lType, Bool bIsDir)
     
    Bool SetFileTime (const Filename &fn, UINT nYear, UINT nMonth, UINT nDay, UINT nHour, UINT nMinute, UINT nSec, Int32 lType, Bool bIsDir)
     
    Bool CompressDataRaw (const void *pSrcData, Int lSrcLen, void *pDestData, Int *plDestLen, Int32 lLevel)
     
    Bool UncompressDataRaw (const void *pSrcData, Int lSrcLen, void *pDestData, Int *plDestLen, Int *plRead=nullptr)
     
    Bool CompressData (const void *pSrcData, Int lSrcLen, void *&pDestData, Int &lDestLen, Int32 lLevel)
     
    Bool UncompressData (const void *pSrcData, Int lSrcLen, void *&pDestData, Int &lDestLen, Int *plRead=nullptr)
     
    ZHandleCompressDataInit (Int32 lLevel)
     
    Bool CompressDataDoIt (ZHandle *handle, const void *pSrcData, Int lSrcLen, void *&pDestData, Int &lDestLen, Int32 lFlags)
     
    void CompressDataFree (ZHandle *&handle)
     
    void * _ReturnString (const maxon::String &v)
     
    Bool RegisterMaterialPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel)
     
    UInt GeMemGetFreePhysicalMemoryEstimate ()
     
    void ClearMem (void *d, Int size, Int32 value=0)
     
    void CopyMem (const void *s, void *d, Int size)
     
    void MemCopy (void *d, const void *s, Int size)
     
    template<class T , class U >
    void FillMemTypeTemplate (T *data_ptr, Int size, const U *check_type, Int32 value)
     
    template<typename T >
    void ClearMemType (T *data_ptr, Int cnt)
     
    template<typename T >
    void CopyMemType (const T *src_ptr, T *dst_ptr, Int cnt)
     
    Bool RegisterMessagePlugin (Int32 id, const maxon::String &str, Int32 info, MessageData *dat)
     
    enum cinema::MTBODYPARTTRANSFERATTRIBUTEMODE Int32 MAXON_ENUM_LIST (MTBODYPARTTRANSFERATTRIBUTEMODE)
     
    Bool WriteIpAddr (const NetworkIpAddr &addr, HyperFile *hf)
     
    Bool ReadIpAddr (NetworkIpAddr &addr, HyperFile *hf)
     
    Bool WriteIpAddrPort (const NetworkIpAddrPort &addr, HyperFile *hf)
     
    Bool ReadIpAddrPort (NetworkIpAddrPort &addr, HyperFile *hf)
     
    NetworkIpConnectionOpenOutgoing (const NetworkIpAddrPort &adr, BaseThread *thread=nullptr, Int connectTimeout=30, Int sessionTimeout=10, Bool useNagleAlgorithm=true, Int *error=nullptr)
     
    NetworkIpConnectionOpenOutgoing (const maxon::String &adr, BaseThread *thread=nullptr, Int connectTimeout=30, Int sessionTimeout=10, Bool useNagleAlgorithm=true, Int *error=nullptr)
     
    Int BytesInInputBuffer (NetworkIpConnection *ipc)
     
    Int RecvBytes (NetworkIpConnection *ipc, void *buf, Int size)
     
    Int SendBytes (NetworkIpConnection *ipc, const void *buf, Int size)
     
    NetworkIpConnectionOpenListener (const NetworkIpAddrPort &adr, BaseThread *thread, Int sessionTimeout, Bool dontwait, Int *error)
     
    NetworkIpConnectionOpenListener (const maxon::String &adr, BaseThread *thread, Int sessionTimeout, Bool useNagleAlgorithm, Int *error)
     
    NetworkIpConnectionOpenWaitForIncoming (NetworkIpConnection *listener, BaseThread *connection, Int *error)
     
    void KillConnection (NetworkIpConnection *&ipc)
     
    void CloseConnection (NetworkIpConnection *&ipc)
     
    void FillNodePlugin (NODEPLUGIN *np, Int32 info, DataAllocator *g, BaseBitmap *icon, Int32 disklevel)
     
    Bool RegisterNodePlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, BaseBitmap *icon, Int32 disklevel, Int32 *fallback)
     
    enum cinema::HANDLECONSTRAINTTYPE MAXON_ENUM_LIST (HANDLECONSTRAINTTYPE)
     
    Bool RegisterObjectPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel)
     
    Bool RegisterObjectPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel, OBJECTCATEGORY category)
     
    void FillObjectPlugin (OBJECTPLUGIN *np, DataAllocator *npalloc, Int32 info, Int32 disklevel, BaseBitmap *icon)
     
    void * SendPainterCommand (Int32 command, BaseDocument *doc, PaintTexture *tex, BaseContainer *bc)
     
    TempUVHandleGetActiveUVSet (BaseDocument *doc, Int32 flags)
     
    Bool UpdateMeshUV (Bool fullUpdate=false)
     
    void FreeActiveUVSet (TempUVHandle *handle)
     
    const EdgeBaseSelectGetUVSeams (const BaseObject *obj)
     
    const EdgeBaseSelectGetUVSeams2 (const BaseObject *obj, Bool checkUVSettings=false)
     
    Bool CallUVCommand (const Vector *padr, Int32 PointCount, const CPolygon *polys, Int32 lPolyCount, UVWStruct *uvw, BaseSelect *polyselection, BaseSelect *pointselection, BaseObject *op, Int32 mode, Int32 cmdid, const BaseContainer &settings)
     
    Int32 IdentifyImage (const Filename &texpath)
     
    Bool BPSetupWizardWithParameters (BaseDocument *doc, const BaseContainer &settings, AtomArray &objects, AtomArray &material)
     
    Bool CalculateTextureSize (BaseDocument *doc, AtomArray &materials, TextureSize *&sizes)
     
    Bool GetAllStrings_AddTexture (const void *msgdata, const BaseContainer &d)
     
    void PainterActivateChannel (Int32 channel, Bool multi, Bool enable)
     
    PaintTexturePainterCreateNewTextureDialog (String &result, Filename &resultdirectory, Int32 channelid, BaseMaterial *bmat)
     
    maxon::Result< maxon::DrawportTextureInterface * > PainterGetBrush (BaseDraw *bd, PaintBrushData &brushData)
     
    static Matrix CalcParticleMatrix (Particle *cp)
     
    Bool PluginStart ()
     
    void PluginEnd ()
     
    Bool PluginMessage (Int32 id, void *data)
     
    Quaternion QSlerp (const Quaternion &q1, const Quaternion &q2, Float64 alfa)
     
    Quaternion QSquad (const Quaternion &q0, const Quaternion &q1, const Quaternion &q2, const Quaternion &q3, Float64 alfa)
     
    Quaternion QBlend (const Quaternion &q1, const Quaternion &q2, const Float64 r)
     
    Quaternion QSpline (const Quaternion &qn_m1, const Quaternion &qn, const Quaternion &qn_p1, const Quaternion &qn_p2, Float64 t)
     
    Quaternion QSmoothCubic (const Quaternion &qn_m1, const Quaternion &qn, const Quaternion &qn_p1, Float64 t)
     
    Quaternion QNorm (const Quaternion &q)
     
    Quaternion QMul (const Quaternion &q1, const Quaternion &q2)
     
    Quaternion QMul (const Quaternion &q, Float64 s)
     
    Quaternion QAdd (const Quaternion &q1, const Quaternion &q2)
     
    Quaternion QSub (const Quaternion &q1, const Quaternion &q2)
     
    Quaternion QInvert (const Quaternion &q)
     
    Float64 QDot (const Quaternion &q1, const Quaternion &q2)
     
    Quaternion QDeriv (const Quaternion &q, const Vector64 &w)
     
    Quaternion QLogN (const Quaternion &q)
     
    Quaternion QExpQ (const Quaternion &q)
     
    Vector64 Matrix64ToHPB (const Matrix64 &m)
     
    Matrix64 LHPBToMatrix (const Vector64 &w)
     
    const StringGeLoadString (Int32 id)
     
    String GeLoadString (Int32 id, const maxon::String &p1)
     
    String GeLoadString (Int32 id, const maxon::String &p1, const maxon::String &p2)
     
    String GeLoadString (Int32 id, const maxon::String &p1, const maxon::String &p2, const maxon::String &p3)
     
    String GeLoadString (Int32 id, const maxon::String &p1, const maxon::String &p2, const maxon::String &p3, const maxon::String &p4)
     
    String GeLoadString (Int32 id, const maxon::String &p1, const maxon::String &p2, const maxon::String &p3, const maxon::String &p4, const maxon::String &p5)
     
    Bool RegisterDescription (Int32 id, const maxon::String &idstr, LocalResource *res=nullptr)
     
    BaseContainerGetMenuResource (const maxon::String &menuname)
     
    Bool SearchMenuResource (const BaseContainer *bc, const maxon::String &searchstr)
     
    const GeDataSearchPluginMenuResource (const maxon::String &identifier="IDS_EDITOR_PIPELINE"_s)
     
    const GeDataSearchPluginSubMenuResource (const maxon::String &identifier="IDS_EDITOR_PIPELINE"_s, BaseContainer *bc=nullptr)
     
    void UpdateMenus ()
     
    void FreeResource ()
     
    Bool RegisterSceneHookPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, Int32 priority, Int32 disklevel)
     
    Int32 CALC_TEXINFO (Int32 texflag, Int32 channel)
     
    Int32 CALC_TEXINFO_BUMP (Int32 texflag, Int32 channel, Int32 sample)
     
    enum cinema::INITRENDERFLAG MAXON_ENUM_FLAGS (INITRENDERFLAG)
     
    Vector64 BasicTransformColor (const Vector64 &input, COLORSPACETRANSFORMATION colortransformation)
     
    maxon::Color64 BasicTransformColor (const maxon::Color64 &input, COLORSPACETRANSFORMATION colortransformation)
     
    maxon::Color32 BasicTransformColor (const maxon::Color32 &input, COLORSPACETRANSFORMATION colortransformation)
     
    void BasicTransformColors (Vector64 *v, Int count, COLORSPACETRANSFORMATION colorSpaceTransformation)
     
    Bool RegisterShaderPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel)
     
    enum cinema::SNAPPRIORITY MAXON_ENUM_ORDERED_LIST (SNAPPRIORITY)
     
    enum cinema::SNAPFLAGS MAXON_ENUM_FLAGS (SNAPFLAGS)
     
    enum cinema::INFERREDGUIDETYPE MAXON_ENUM_LIST (INFERREDGUIDETYPE)
     
    Bool IsSnapEnabled (const BaseDocument *doc, Int32 mode=-1)
     
    void EnableSnap (Bool state, BaseDocument *doc, Int32 mode=-1)
     
    BaseContainer SnapSettings (BaseDocument *doc, Int32 snapmode=-1)
     
    void SnapSettings (BaseDocument *doc, const BaseContainer &bc, Int32 snapmode=-1)
     
    Bool IsQuantizeEnabled (BaseDocument *doc)
     
    Float QuantizeStep (BaseDocument *doc, BaseDraw *bd, Int32 quantize_mode)
     
    void QuantizeStep (BaseDocument *doc, BaseDraw *bd, Int32 quantize_mode, Float val)
     
    Bool GetConstructionPlane (const BaseDraw *bd, Matrix *mg, Vector *scale, BaseObject **op)
     
    BaseObjectGetWorkplaneObject (const BaseDocument *doc)
     
    Bool IsWorkplaneLocked (const BaseDocument *doc)
     
    void WorkplaneLock (BaseDraw *bd, Int32 locked)
     
    Matrix GetWorkplaneMatrix (const BaseDocument *doc, const BaseDraw *bd)
     
    Bool RegisterSnapPlugin (Int32 id, const maxon::String &str, const maxon::String &help, Int32 snapinfo, SnapDataAllocator *npalloc, BaseBitmap *icon, SNAPPRIORITY priority=SNAPPRIORITY::EDGE, Int32 parent_mode=-1)
     
    maxon::String ToString (const String &val, const maxon::FormatStatement *formatStatement, maxon::Bool checkDatatype=false)
     
    const StringMaxonConvert (const maxon::String &val)
     
    String MaxonConvert (maxon::String &&val)
     
    const maxon::StringMaxonConvert (const String &val)
     
    maxon::String MaxonConvert (String &&val)
     
    Bool operator== (const String &left, const String &right)
     
    Bool operator== (const String &left, const Char *right)
     
    Bool operator== (const String &left, const maxon::String &right)
     
    Bool operator== (const maxon::String &left, const String &right)
     
    Bool operator!= (const String &left, const String &right)
     
    Bool operator!= (const String &left, const maxon::String &right)
     
    Bool operator!= (const maxon::String &left, const String &right)
     
    Bool operator!= (const String &left, const Char *right)
     
    Bool operator< (const String &left, const String &right)
     
    Bool RegisterTagPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel)
     
    void FillTagPlugin (TAGPLUGIN *np, DataAllocator *npalloc, Int32 info, Int32 disklevel, BaseBitmap *icon)
     
    Int32 GeGetCurrentThreadCount ()
     
    void GeThreadLock ()
     
    void GeThreadUnlock ()
     
    THREADTYPE IdentifyThread (BaseThread *bt)
     
    UInt32 GeGetCurrentThreadId ()
     
    BaseThreadGeGetCurrentThread ()
     
    BaseThreadGeGetDummyThread ()
     
    BaseThreadGeGetEscTestThread ()
     
    maxon::ThreadRef MaxonConvert (BaseThread *thread)
     
    BaseThreadMaxonConvert (const maxon::ThreadRef &thread)
     
    BaseThreadMaxonConvert (const maxon::ThreadInterface *thread)
     
    enum cinema::VERTEXCOLOR_DISPLAYMODE MAXON_ENUM_FLAGS (VERTEXCOLOR_DISPLAYMODE)
     
    BaseContainerGetToolData (BaseDocument *doc, Int32 pluginid, Bool create=true)
     
    const BaseContainerGetToolData (const BaseDocument *doc, Int32 pluginid, Bool create=true)
     
    Float GetToolScale (BaseDraw *bd, AtomArray *arr, Int32 all, Int32 mode=-1)
     
    Bool RegisterToolPlugin (Int32 id, const maxon::String &str, Int32 info, BaseBitmap *icon, const maxon::String &help, ToolData *dat)
     
    Float64 StepEx (Float64 a, Float64 x)
     
    Float32 Boxstep (Float32 a, Float32 b, Float32 x)
     
    Float64 Boxstep (Float64 a, Float64 b, Float64 x)
     
    Float32 Smoothstep (Float32 a, Float32 b, Float32 x)
     
    Float64 Smoothstep (Float64 a, Float64 b, Float64 x)
     
    Float32 Modulo (Float32 a, Float32 b)
     
    Float64 Modulo (Float64 a, Float64 b)
     
    Int32 LModulo (Int32 a, Int32 b)
     
    Int64 LModulo (Int64 a, Int64 b)
     
    Float32 Bias (Float32 b, Float32 x)
     
    Float64 Bias (Float64 b, Float64 x)
     
    Float32 Truncate (Float32 x)
     
    Float64 Truncate (Float64 x)
     
    Matrix MatrixMove (const Vector &t)
     
    Matrix MatrixScale (const Vector &s)
     
    Matrix MatrixRotX (Float w)
     
    Matrix MatrixRotY (Float w)
     
    Matrix MatrixRotZ (Float w)
     
    Vector MatrixToHPB (const Matrix &m, ROTATIONORDER rot_order, Bool isNormalized=false)
     
    Vector VectorToHPB (const Vector &p)
     
    Matrix HPBToMatrix (const Vector &hpb, ROTATIONORDER rot_order)
     
    void MatrixToRotAxis (const Matrix &m, Vector *v, Float *w)
     
    Matrix RotAxisToMatrix (const Vector &v, Float w)
     
    Matrix RebuildMatrix (const Matrix &m)
     
    Matrix DirectionVectorToRotationMatrix (const Vector &direction, const Vector &pivotDirection)
     
    Vector GetOptimalAngle (const Vector &hpb_old, const Vector &hpb_new, ROTATIONORDER order)
     
    Vector PointLineDistance (const Vector &p0, const Vector &v, const Vector &p)
     
    Float PointLineSegmentDistance (const Vector &segmentPoint1, const Vector &segmentPoint2, const Vector &pos, Vector *intersectionPoint=nullptr, Float *lineOffset=nullptr)
     
    Float PointLineSegmentDistance2D (const Vector &segmentPoint1, const Vector &segmentPoint2, const Vector &pos, Vector *intersectionPoint=nullptr, Float *lineOffset=nullptr)
     
    Vector64 ReflectRay (const Vector64 &v, const Vector64 &n)
     
    Bool SphereLineIntersection (const Vector &linePoint1, const Vector &linePoint2, const Vector &sphereCenter, Float sphereRadius, Float *intersection1=nullptr, Float *intersection2=nullptr, Vector *hitPoint1=nullptr, Vector *hitPoint2=nullptr)
     
    Bool CircleLineIntersection (const Vector &linePoint1, const Vector &linePoint2, const Vector &circleCenter, Float circleRadius, Float *intersection1=nullptr, Float *intersection2=nullptr, Vector *hitPoint1=nullptr, Vector *hitPoint2=nullptr)
     
    Bool SphereSegmentIntersection (const Vector &linePoint1, const Vector &linePoint2, const Vector &sphereCenter, Float sphereRadius, maxon::BaseArray< SegmentSphereIntersectionData > &intersections)
     
    Bool CircleSegmentIntersection (const Vector &linePoint1, const Vector &linePoint2, const Vector &circleCenter, Float circleRadius, maxon::BaseArray< SegmentSphereIntersectionData > &intersections)
     
    Vector RGBToHSV (const Vector &col)
     
    Vector HSVToRGB (const Vector &col)
     
    Vector RGBToHSL (const Vector &col)
     
    Vector HSLtoRGB (const Vector &col)
     
    Vector CalcSplinePoint (Float offset, SPLINETYPE type, Bool closed, Int32 pcnt, const Vector *padr, const Tangent *tadr=nullptr)
     
    Vector CalcSplineTangent (Float offset, SPLINETYPE type, Bool closed, Int32 pcnt, const Vector *padr, const Tangent *tadr=nullptr)
     
    void CalcSplineInsert (Float offset, SPLINETYPE type, Bool closed, Int32 pcnt, const Vector *padr, const Tangent *tadr, Int32 &pointIndex, Vector &resultPoint, Tangent &resultTangent, Vector &leftTangent, Vector &rightTangent)
     
    Tangent TransformTangent (const Vector &newPos, const Vector &planeNormal, const Vector &position, const Tangent &tangent, TANGENTSIDE tangentSide, TANGENTTRANSFORMFLAG flags=TANGENTTRANSFORMFLAG::BREAK_SCALE)
     
    void CalcSplineMovement (const Vector &newPos, Float offset, SPLINETYPE type, const Matrix &splineMg, BaseDraw *bd, const Vector &planeNormal, Bool closed, Bool lockTangentAngle, Bool lockTangentLength, BREAKTANGENTS breakTangents, Int32 pcnt, Vector *padr, Tangent *tadr)
     
    Bool CalcSplineDefaultTangents (SPLINETYPE type, Bool closed, Int32 pcnt, const Vector *padr, Tangent *tadr)
     
    PointObjectBooleanSplines (PointObject *initialSpline, AtomArray *booleanObjects, BaseDocument *doc, BaseDraw *bd, SPLINEBOOL_AXIS projectionAxis, SPLINEBOOL_MODE booleanMode)
     
    Float SNoise (const Vector &p)
     
    Float SNoise (const Vector &p, Float t)
     
    Float Noise (const Vector &p)
     
    Float Noise (const Vector &p, Float t)
     
    Float PNoise (const Vector &p, const Vector &d)
     
    Float PNoise (const Vector &p, Float t, const Vector &d, Float dt)
     
    Float Turbulence (const Vector &p, Float oct, Bool abs)
     
    Float Turbulence (const Vector &p, Float t, Float oct, Bool abs)
     
    Float WavyTurbulence (const Vector &p, Float t, Float oct, Float start)
     
    void InitFbm (Float *table, Int32 max_octaves, Float lacunarity, Float h)
     
    Float Fbm (Float *table, const Vector &p, Float oct)
     
    Float Fbm (Float *table, const Vector &p, Float t, Float oct)
     
    Float RidgedMultifractal (Float *table, const Vector &p, Float oct, Float offset, Float gain)
     
    Float CalcSpline (Float x, const Float *knot, Int32 nknots)
     
    Vector CalcSpline (Float x, const Vector *knot, Int32 nknots)
     
    Float SNoiseP (Vector p, Float t, Int32 t_repeat)
     
    Float TurbulenceP (Vector p, Float t, Float oct, Bool abs, Int32 t_repeat)
     
    Float FbmP (Float *table, Vector p, Float t, Float oct, Int32 t_repeat)
     
    Float RidgedMultifractalP (Float *table, Vector p, Float t, Float oct, Float offset, Float gain, Int32 t_repeat)
     
    RayObjectAllocRayObject (Int32 tex_cnt)
     
    void FreeRayObject (RayObject *&op)
     
    RayLightAllocRayLight (BaseDocument *doc, BaseObject *op)
     
    void FreeRayLight (RayLight *&lgt)
     
    Bool IlluminateRayLight (RayLight *rl, Vector *color, Vector64 *light_vector, const Vector64 &p, const Vector64 &n)
     
    void CalcRestrictionInc (const ObjectRestriction *lr, const RayObject *op, Bool &nodif, Bool &nospec)
     
    enum cinema::BAKE_STATE MAXON_ENUM_LIST (BAKE_STATE)
     
    BAKE_TEX_ERR BakeTexture (BaseDocument *doc, const BaseContainer &data, BaseBitmap *bmp, BaseThread *th, BakeProgressHook *hook, BakeProgressInfo *info)
     
    BaseDocumentInitBakeTexture (BaseDocument *doc, TextureTag *textag, UVWTag *texuvw, UVWTag *destuvw, const BaseContainer &bc, BAKE_TEX_ERR *err=nullptr, BaseThread *th=nullptr)
     
    BaseDocumentInitBakeTexture (BaseDocument *doc, TextureTag **textags, UVWTag **texuvws, UVWTag **destuvws, Int32 cnt, const BaseContainer &bc, BAKE_TEX_ERR *err=nullptr, BaseThread *th=nullptr)
     
    Vector GetOptimalAngleI (const Vector &orot, const Vector &nrot, const ROTATIONORDER order, const Float angleDiff)
     
    enum cinema::VIDEOPOSTCALL MAXON_ENUM_LIST (VIDEOPOSTCALL)
     
    Bool RegisterVideoPostPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel, Int32 priority)
     
    Bool CompareFloatTolerant (Float32 a, Float32 b)
     
    Bool CompareFloatTolerant (Float64 a, Float64 b)
     
    Bool CheckFloat (Float32 r)
     
    Bool CheckFloat (Float64 r)
     
    Float32 RepairFloat (Float32 r)
     
    Float64 RepairFloat (Float64 r)
     
    maxon::String ToString (const Matrix32 &val, const maxon::FormatStatement *formatStatement, maxon::Bool checkDatatype=false)
     
    maxon::String ToString (const Vector32 &val, const maxon::FormatStatement *formatStatement, maxon::Bool checkDatatype=false)
     
    enum cinema::LINESTYLE MAXON_ENUM_LIST (LINESTYLE)
     
    enum cinema::SERVERMESSAGE MAXON_ENUM_LIST (SERVERMESSAGE)
     
    enum cinema::RENDERJOBLIST MAXON_ENUM_FLAGS (RENDERJOBLIST)
     
    enum cinema::MESSAGERESULT MAXON_ENUM_LIST (MESSAGERESULT)
     
    enum cinema::MACHINELIST MAXON_ENUM_FLAGS (MACHINELIST)
     
    enum cinema::VERIFICATIONBIT MAXON_ENUM_FLAGS (VERIFICATIONBIT)
     
    enum cinema::RENDERJOBCREATOR MAXON_ENUM_FLAGS (RENDERJOBCREATOR)
     
    enum cinema::DETAILSELECTOR MAXON_ENUM_FLAGS (DETAILSELECTOR)
     
    enum cinema::STATUSNETSTATE MAXON_ENUM_FLAGS (STATUSNETSTATE)
     
    enum cinema::HOTKEYFLAGS MAXON_ENUM_FLAGS (HOTKEYFLAGS)
     
    enum cinema::ASSETDATA_FLAG MAXON_ENUM_FLAGS (ASSETDATA_FLAG)
     
    enum cinema::SAVEBIT MAXON_ENUM_FLAGS (SAVEBIT)
     
    enum cinema::SCENEFILTER MAXON_ENUM_FLAGS (SCENEFILTER)
     
    enum cinema::OVERVIEW MAXON_ENUM_FLAGS (OVERVIEW)
     
    enum cinema::GEMB MAXON_ENUM_FLAGS (GEMB)
     
    enum cinema::GEMB_R MAXON_ENUM_LIST (GEMB_R)
     
    enum cinema::MOUSEDRAGRESULT MAXON_ENUM_LIST (MOUSEDRAGRESULT)
     
    enum cinema::MOUSEDRAGFLAGS MAXON_ENUM_FLAGS (MOUSEDRAGFLAGS)
     
    enum cinema::INITRENDERRESULT MAXON_ENUM_LIST (INITRENDERRESULT)
     
    enum cinema::RENDERRESULT MAXON_ENUM_LIST (RENDERRESULT)
     
    enum cinema::COLORMODE MAXON_ENUM_FLAGS (COLORMODE)
     
    enum cinema::COLORSPACETRANSFORMATION MAXON_ENUM_LIST (COLORSPACETRANSFORMATION)
     
    enum cinema::VIEW_WINDOW_COLOR_SPACE Int32 MAXON_ENUM_LIST (VIEW_WINDOW_COLOR_SPACE)
     
    enum cinema::PIXELCNT MAXON_ENUM_FLAGS (PIXELCNT)
     
    enum cinema::INITBITMAPFLAGS MAXON_ENUM_FLAGS (INITBITMAPFLAGS)
     
    enum cinema::MPB_GETLAYERS MAXON_ENUM_FLAGS (MPB_GETLAYERS)
     
    enum cinema::MPBTYPE MAXON_ENUM_LIST (MPBTYPE)
     
    enum cinema::LENGTHUNIT MAXON_ENUM_LIST (LENGTHUNIT)
     
    enum cinema::SPLINETYPE MAXON_ENUM_LIST (SPLINETYPE)
     
    enum cinema::BREAKTANGENTS MAXON_ENUM_LIST (BREAKTANGENTS)
     
    enum cinema::TANGENTSIDE MAXON_ENUM_LIST (TANGENTSIDE)
     
    enum cinema::TANGENTTRANSFORMFLAG MAXON_ENUM_FLAGS (TANGENTTRANSFORMFLAG)
     
    enum cinema::SPLINEBOOL_AXIS MAXON_ENUM_LIST (SPLINEBOOL_AXIS)
     
    enum cinema::SPLINEBOOL_MODE MAXON_ENUM_LIST (SPLINEBOOL_MODE)
     
    enum cinema::PARTICLEFLAGS MAXON_ENUM_FLAGS (PARTICLEFLAGS)
     
    enum cinema::NBIT MAXON_ENUM_LIST (NBIT)
     
    enum cinema::CREATEJOBRESULT MAXON_ENUM_FLAGS (CREATEJOBRESULT)
     
    enum cinema::NBITCONTROL MAXON_ENUM_FLAGS (NBITCONTROL)
     
    enum cinema::VOLUMECOMMANDTYPE MAXON_ENUM_LIST (VOLUMECOMMANDTYPE)
     
    enum cinema::GRIDTYPE MAXON_ENUM_LIST (GRIDTYPE)
     
    enum cinema::GRIDCLASS MAXON_ENUM_LIST (GRIDCLASS)
     
    enum cinema::VECTORGRIDTYPE MAXON_ENUM_LIST (VECTORGRIDTYPE)
     
    enum cinema::VOLUMETOMESHSETTINGS MAXON_ENUM_LIST (VOLUMETOMESHSETTINGS)
     
    enum cinema::MESHTOVOLUMESETTINGS MAXON_ENUM_LIST (MESHTOVOLUMESETTINGS)
     
    enum cinema::PARTICLESTOVOLUMESETTINGS MAXON_ENUM_LIST (PARTICLESTOVOLUMESETTINGS)
     
    enum cinema::SPLINETOVOLUMESETTINGS MAXON_ENUM_LIST (SPLINETOVOLUMESETTINGS)
     
    enum cinema::FILTERSETTINGS MAXON_ENUM_LIST (FILTERSETTINGS)
     
    enum cinema::SDFFILTERSETTINGS MAXON_ENUM_LIST (SDFFILTERSETTINGS)
     
    enum cinema::BOOLESETTINGS MAXON_ENUM_LIST (BOOLESETTINGS)
     
    enum cinema::BOOLTYPE MAXON_ENUM_LIST (BOOLTYPE)
     
    enum cinema::MIXSETTINGS MAXON_ENUM_LIST (MIXSETTINGS)
     
    enum cinema::MIXTYPE MAXON_ENUM_LIST (MIXTYPE)
     
    enum cinema::SDFTOFOGSETTINGS MAXON_ENUM_LIST (SDFTOFOGSETTINGS)
     
    enum cinema::FOGTOSDFSETTINGS MAXON_ENUM_LIST (FOGTOSDFSETTINGS)
     
    enum cinema::RESAMPLESETTINGS MAXON_ENUM_LIST (RESAMPLESETTINGS)
     
    enum cinema::RESAMPLEINTERPOLATIONTYPE MAXON_ENUM_LIST (RESAMPLEINTERPOLATIONTYPE)
     
    enum cinema::FIELDTOVOLUMESETTINGS MAXON_ENUM_LIST (FIELDTOVOLUMESETTINGS)
     
    enum cinema::CREATESPHEREVOLUMESETTINGS MAXON_ENUM_LIST (CREATESPHEREVOLUMESETTINGS)
     
    enum cinema::CREATEPLATONICVOLUMESETTINGS MAXON_ENUM_LIST (CREATEPLATONICVOLUMESETTINGS)
     
    enum cinema::EVENT MAXON_ENUM_FLAGS (EVENT)
     
    enum cinema::DRAWFLAGS MAXON_ENUM_FLAGS (DRAWFLAGS)
     
    enum cinema::ANIMATEFLAGS MAXON_ENUM_FLAGS (ANIMATEFLAGS)
     
    enum cinema::SAVEDOCUMENTFLAGS MAXON_ENUM_FLAGS (SAVEDOCUMENTFLAGS)
     
    enum cinema::COPYFLAGS MAXON_ENUM_FLAGS (COPYFLAGS)
     
    enum cinema::UNDOTYPE MAXON_ENUM_LIST (UNDOTYPE)
     
    enum cinema::DRAWHANDLE MAXON_ENUM_LIST (DRAWHANDLE)
     
    enum cinema::DRAW_ALPHA MAXON_ENUM_LIST (DRAW_ALPHA)
     
    enum cinema::DRAW_TEXTUREFLAGS MAXON_ENUM_FLAGS (DRAW_TEXTUREFLAGS)
     
    enum cinema::TOOLDRAW MAXON_ENUM_FLAGS (TOOLDRAW)
     
    enum cinema::TOOLDRAWFLAGS MAXON_ENUM_FLAGS (TOOLDRAWFLAGS)
     
    enum cinema::DIRTYFLAGS MAXON_ENUM_FLAGS (DIRTYFLAGS)
     
    enum cinema::HDIRTY_ID MAXON_ENUM_LIST (HDIRTY_ID)
     
    enum cinema::HDIRTYFLAGS MAXON_ENUM_FLAGS (HDIRTYFLAGS)
     
    enum cinema::ROTATIONORDER UChar MAXON_ENUM_LIST (ROTATIONORDER)
     
    enum cinema::ROTATIONINTERPOLATION_QUATERNION UChar MAXON_ENUM_LIST (ROTATIONINTERPOLATION_QUATERNION)
     
    enum cinema::CURVEINTERPOLATION_MODE MAXON_ENUM_LIST (CURVEINTERPOLATION_MODE)
     
    enum cinema::BUILDFLAGS UInt16 MAXON_ENUM_FLAGS (BUILDFLAGS)
     
    enum cinema::EXECUTIONFLAGS MAXON_ENUM_FLAGS (EXECUTIONFLAGS)
     
    enum cinema::SCENEHOOKDRAW MAXON_ENUM_FLAGS (SCENEHOOKDRAW)
     
    enum cinema::DESCFLAGS_DESC MAXON_ENUM_FLAGS (DESCFLAGS_DESC)
     
    enum cinema::DESCFLAGS_GET MAXON_ENUM_FLAGS (DESCFLAGS_GET)
     
    enum cinema::DESCFLAGS_SET MAXON_ENUM_FLAGS (DESCFLAGS_SET)
     
    enum cinema::DESCFLAGS_ENABLE MAXON_ENUM_FLAGS (DESCFLAGS_ENABLE)
     
    enum cinema::HIERARCHYCLONEFLAGS MAXON_ENUM_FLAGS (HIERARCHYCLONEFLAGS)
     
    enum cinema::CHECKVALUEFORMAT MAXON_ENUM_LIST (CHECKVALUEFORMAT)
     
    enum cinema::CHECKVALUERANGE MAXON_ENUM_LIST (CHECKVALUERANGE)
     
    enum cinema::PAINTMESHFLAGS MAXON_ENUM_FLAGS (PAINTMESHFLAGS)
     
    enum cinema::GETBRANCHINFO MAXON_ENUM_FLAGS (GETBRANCHINFO)
     
    enum cinema::BRANCHINFOFLAGS MAXON_ENUM_FLAGS (BRANCHINFOFLAGS)
     
    enum cinema::GETACTIVEOBJECTFLAGS MAXON_ENUM_FLAGS (GETACTIVEOBJECTFLAGS)
     
    enum cinema::DRAWPASS MAXON_ENUM_LIST (DRAWPASS)
     
    enum cinema::SAVEPROJECT MAXON_ENUM_FLAGS (SAVEPROJECT)
     
    enum cinema::ICONDATAFLAGS MAXON_ENUM_FLAGS (ICONDATAFLAGS)
     
    enum cinema::USERAREAFLAGS MAXON_ENUM_FLAGS (USERAREAFLAGS)
     
    enum cinema::EXECUTIONRESULT MAXON_ENUM_LIST (EXECUTIONRESULT)
     
    enum cinema::IMAGERESULT MAXON_ENUM_LIST (IMAGERESULT)
     
    enum cinema::STRINGENCODING MAXON_ENUM_LIST (STRINGENCODING)
     
    enum cinema::THREADMODE MAXON_ENUM_LIST (THREADMODE)
     
    enum cinema::THREADPRIORITYEX MAXON_ENUM_LIST (THREADPRIORITYEX)
     
    enum cinema::HYPERFILEARRAY MAXON_ENUM_LIST (HYPERFILEARRAY)
     
    enum cinema::FILEERROR MAXON_ENUM_LIST (FILEERROR)
     
    enum cinema::FILEOPEN MAXON_ENUM_LIST (FILEOPEN)
     
    enum cinema::LOCATION MAXON_ENUM_LIST (LOCATION)
     
    enum cinema::FILESEEK MAXON_ENUM_LIST (FILESEEK)
     
    enum cinema::FILEDIALOG MAXON_ENUM_LIST (FILEDIALOG)
     
    enum cinema::FILESELECT MAXON_ENUM_LIST (FILESELECT)
     
    enum cinema::FILESELECTTYPE MAXON_ENUM_LIST (FILESELECTTYPE)
     
    enum cinema::OPERATINGSYSTEM MAXON_ENUM_LIST (OPERATINGSYSTEM)
     
    enum cinema::BYTEORDER MAXON_ENUM_LIST (BYTEORDER)
     
    enum cinema::HYPERFILEVALUE MAXON_ENUM_LIST (HYPERFILEVALUE)
     
    enum cinema::FINDANIM MAXON_ENUM_LIST (FINDANIM)
     
    enum cinema::CCURVE MAXON_ENUM_LIST (CCURVE)
     
    enum cinema::CLOOP MAXON_ENUM_LIST (CLOOP)
     
    enum cinema::CINTERPOLATION UChar MAXON_ENUM_LIST (CINTERPOLATION)
     
    enum cinema::CAUTOMODE UChar MAXON_ENUM_LIST (CAUTOMODE)
     
    enum cinema::CKEYPRESET MAXON_ENUM_LIST (CKEYPRESET)
     
    enum cinema::CLIPBOARDTYPE MAXON_ENUM_LIST (CLIPBOARDTYPE)
     
    enum cinema::EDGESELECTIONTYPE MAXON_ENUM_LIST (EDGESELECTIONTYPE)
     
    enum cinema::REGISTRYTYPE MAXON_ENUM_LIST (REGISTRYTYPE)
     
    enum cinema::MODELINGCOMMANDMODE MAXON_ENUM_LIST (MODELINGCOMMANDMODE)
     
    enum cinema::MODELINGCOMMANDFLAGS MAXON_ENUM_FLAGS (MODELINGCOMMANDFLAGS)
     
    enum cinema::PLUGINTYPE MAXON_ENUM_LIST (PLUGINTYPE)
     
    enum cinema::DRAWRESULT MAXON_ENUM_LIST (DRAWRESULT)
     
    enum cinema::DISPLAYMODE MAXON_ENUM_LIST (DISPLAYMODE)
     
    enum cinema::DOCUMENTSETTINGS MAXON_ENUM_LIST (DOCUMENTSETTINGS)
     
    enum cinema::VERSIONTYPE MAXON_ENUM_LIST (VERSIONTYPE)
     
    enum cinema::LAYERSETMODE MAXON_ENUM_LIST (LAYERSETMODE)
     
    enum cinema::OBJECTCATEGORY MAXON_ENUM_LIST (OBJECTCATEGORY)
     
    enum cinema::SELECTIONFILTERBIT MAXON_ENUM_FLAGS (SELECTIONFILTERBIT)
     
    enum cinema::OBJECTSTATE MAXON_ENUM_LIST (OBJECTSTATE)
     
    enum cinema::DISPLAYFILTER UInt64 MAXON_ENUM_FLAGS (DISPLAYFILTER)
     
    enum cinema::DISPLAYEDITSTATE MAXON_ENUM_FLAGS (DISPLAYEDITSTATE)
     
    enum cinema::THREADTYPE MAXON_ENUM_FLAGS (THREADTYPE)
     
    enum cinema::RENDERPROGRESSTYPE MAXON_ENUM_LIST (RENDERPROGRESSTYPE)
     
    enum cinema::RDATA_SAVECALLBACK_CMD MAXON_ENUM_LIST (RDATA_SAVECALLBACK_CMD)
     
    enum cinema::VPGETINFO MAXON_ENUM_LIST (VPGETINFO)
     
    enum cinema::DRAWOBJECT MAXON_ENUM_FLAGS (DRAWOBJECT)
     
    enum cinema::RENDERFLAGS MAXON_ENUM_FLAGS (RENDERFLAGS)
     
    enum cinema::WRITEMODE MAXON_ENUM_LIST (WRITEMODE)
     
    enum cinema::NETRENDERFLAGS MAXON_ENUM_FLAGS (NETRENDERFLAGS)
     
    enum cinema::CHECKISRUNNING MAXON_ENUM_LIST (CHECKISRUNNING)
     
    enum cinema::BAKE_TEX_ERR MAXON_ENUM_LIST (BAKE_TEX_ERR)
     
    enum cinema::GL_MESSAGE MAXON_ENUM_LIST (GL_MESSAGE)
     
    enum cinema::VIEWPORT_PICK_FLAGS MAXON_ENUM_FLAGS (VIEWPORT_PICK_FLAGS)
     
    enum cinema::BACKGROUNDHANDLERCOMMAND MAXON_ENUM_LIST (BACKGROUNDHANDLERCOMMAND)
     
    enum cinema::BACKGROUNDHANDLERFLAGS MAXON_ENUM_FLAGS (BACKGROUNDHANDLERFLAGS)
     
    enum cinema::IDENTIFYFILE MAXON_ENUM_FLAGS (IDENTIFYFILE)
     
    enum cinema::CALCHARDSHADOW MAXON_ENUM_FLAGS (CALCHARDSHADOW)
     
    enum cinema::ILLUMINATEFLAGS MAXON_ENUM_FLAGS (ILLUMINATEFLAGS)
     
    enum cinema::RAYBIT MAXON_ENUM_FLAGS (RAYBIT)
     
    enum cinema::VOLUMEINFO UInt32 MAXON_ENUM_FLAGS (VOLUMEINFO)
     
    enum cinema::VIDEOPOSTINFO MAXON_ENUM_FLAGS (VIDEOPOSTINFO)
     
    enum cinema::SHADERINFO MAXON_ENUM_FLAGS (SHADERINFO)
     
    enum cinema::SAMPLEBUMP MAXON_ENUM_FLAGS (SAMPLEBUMP)
     
    enum cinema::INITCALCULATION MAXON_ENUM_LIST (INITCALCULATION)
     
    enum cinema::FIELDLAYER_FLAG MAXON_ENUM_FLAGS (FIELDLAYER_FLAG)
     
    enum cinema::MULTIPASSCHANNEL MAXON_ENUM_LIST (MULTIPASSCHANNEL)
     
    enum cinema::DLG_TYPE MAXON_ENUM_LIST (DLG_TYPE)
     
    enum cinema::MULTIMSG_ROUTE MAXON_ENUM_LIST (MULTIMSG_ROUTE)
     
    enum cinema::VPGETFRAGMENTS MAXON_ENUM_FLAGS (VPGETFRAGMENTS)
     
    enum cinema::NAV2DCAMERASETTINGSCACHEMODE MAXON_ENUM_LIST (NAV2DCAMERASETTINGSCACHEMODE)
     
    enum cinema::SIGNALMODE MAXON_ENUM_LIST (SIGNALMODE)
     
    enum cinema::QUALIFIER MAXON_ENUM_FLAGS (QUALIFIER)
     
    enum cinema::NOTIFY_EVENT MAXON_ENUM_LIST (NOTIFY_EVENT)
     
    enum cinema::NOTIFY_EVENT_FLAG MAXON_ENUM_FLAGS (NOTIFY_EVENT_FLAG)
     
    enum cinema::DESCIDSTATE MAXON_ENUM_FLAGS (DESCIDSTATE)
     
    enum cinema::BASEDRAW_HOOK_MESSAGE MAXON_ENUM_LIST (BASEDRAW_HOOK_MESSAGE)
     
    enum cinema::CINEMAINFO MAXON_ENUM_FLAGS (CINEMAINFO)
     
    enum cinema::PROTOCOL MAXON_ENUM_LIST (PROTOCOL)
     
    enum cinema::RESOLVERESULT MAXON_ENUM_LIST (RESOLVERESULT)
     
    enum cinema::SERVERJOBLIST MAXON_ENUM_LIST (SERVERJOBLIST)
     
    enum cinema::EDITION MAXON_ENUM_FLAGS (EDITION)
     
    enum cinema::JOBCOMMAND MAXON_ENUM_LIST (JOBCOMMAND)
     
    enum cinema::RENDERTARGET MAXON_ENUM_LIST (RENDERTARGET)
     
    enum cinema::JOBSTATE MAXON_ENUM_LIST (JOBSTATE)
     
    enum cinema::ZEROCONFMACHINESTATE MAXON_ENUM_LIST (ZEROCONFMACHINESTATE)
     
    enum cinema::ZEROCONFACTION MAXON_ENUM_FLAGS (ZEROCONFACTION)
     
    enum cinema::ZEROCONFERROR MAXON_ENUM_LIST (ZEROCONFERROR)
     
    enum cinema::COMPONENT_SELECTION_MODES MAXON_ENUM_LIST (COMPONENT_SELECTION_MODES)
     
    enum cinema::FIELDSAMPLE_FLAG MAXON_ENUM_FLAGS (FIELDSAMPLE_FLAG)
     
    enum cinema::FIELDOBJECTSAMPLE_FLAG MAXON_ENUM_FLAGS (FIELDOBJECTSAMPLE_FLAG)
     
    enum cinema::FIELDOBJECT_FLAG MAXON_ENUM_FLAGS (FIELDOBJECT_FLAG)
     
    enum cinema::VIEWPORT_RENDER_ID MAXON_ENUM_LIST (VIEWPORT_RENDER_ID)
     
    enum cinema::GETALLASSETSRESULT MAXON_ENUM_LIST (GETALLASSETSRESULT)
     
    enum cinema::VIEWPORTTYPE MAXON_ENUM_LIST (VIEWPORTTYPE)
     
    enum cinema::SCENENODES_IDS MAXON_ENUM_LIST (SCENENODES_IDS)
     
    enum cinema::FOLDMODE MAXON_ENUM_LIST (FOLDMODE)
     
    enum cinema::TAGBITS MAXON_ENUM_FLAGS (TAGBITS)
     
    Float32 FMin (Float32 a, Float32 b)
     
    Float64 FMin (Float64 a, Float64 b)
     
    Int32 LMin (Int32 a, Int32 b)
     
    Int VMin (Int a, Int b)
     
    Float32 FMax (Float32 a, Float32 b)
     
    Float64 FMax (Float64 a, Float64 b)
     
    Int32 LMax (Int32 a, Int32 b)
     
    Int VMax (Int a, Int b)
     
    Int32 LCut (Int32 a, Int32 b, Int32 c)
     
    Int VCut (Int a, Int b, Int c)
     
    template<typename X >
    Int Sign (X f)
     
    template<typename T , typename U >
    Mod (T a, U b)
     
    enum cinema::OPENDIALOGFLAGS MAXON_ENUM_FLAGS (OPENDIALOGFLAGS)
     
    enum cinema::VIEWPORTSELECTFLAGS MAXON_ENUM_FLAGS (VIEWPORTSELECTFLAGS)
     
    enum cinema::SCRIPTMODE MAXON_ENUM_LIST (SCRIPTMODE)
     
    enum cinema::BASEDRAW_HIGHLIGHT MAXON_ENUM_LIST (BASEDRAW_HIGHLIGHT)
     
    enum cinema::FIELDLAYER_CHANNELFLAG MAXON_ENUM_FLAGS (FIELDLAYER_CHANNELFLAG)
     
    enum cinema::POPUPEDITTEXTCALLBACK MAXON_ENUM_LIST (POPUPEDITTEXTCALLBACK)
     

    Variables

    enum BUILDFLAGS UInt16 class cinema::AccessedObjectsCallback MAXON_ENUM_FLAGS
     
    cinema::ColorProfile MAXON_ENUM_LIST
     
    static const Int32 ID_DISPLAYFILTER_BROWSERPRESET
     
    static const Int MSG_PROPERTYPROPAGATION_OVERRIDE
     
    static const Int32 BFM_ACTION_KEYFRAMESTATE
     
    static const Int32 BFM_ACTION_SECTION
     
    static const Int32 BFM_ACTION_SECTION_NODE
     
    static const Int32 BFM_ACTION_SECTION_ANIM
     
    static const Int32 BFM_ACTION_SECTION_OPENER
     
    static const Int32 BFM_ACTION_SECTION_TEXT
     
    static const Int32 ICON_PORTCONNECTOR_CONNECTED
     
    static const Int32 ICON_PORTCONNECTOR_UNCONNECTED
     
    static const Int32 ICON_PORTCONNECTOR_CONNECTED_HIGHLIGHTED
     
    static const Int32 ICON_PORTCONNECTOR_UNCONNECTED_HIGHLIGHTED
     
    static const Int32 ICON_PORTCONNECTOR_CONNECTEDMUTED
     
    static const Int32 ICON_PORTCONNECTOR_CONNECTEDMUTED_HIGHLIGHTED
     
    static const Int32 ID_FIELDSUBLIST_ICON
     
    static const Int32 ID_FIELDMASK_ICON
     
    class CINEWARE_SINGLEINHERITANCE iListViewData
     
    static const Int32 CUSTOMGUI_RANGE
     
    static const Int32 CUSTOMDATATYPE_RANGE
     
    static const Int32 MSG_DESCRIPTION_RANGEGUI_KNOTSELECTED_INDEX
     
    static const Int32 MSG_DESCRIPTION_RANGEGUI_KNOTDELETED_INDEX
     
    static const Int32 MSG_DESCRIPTION_RANGEGUI_KNOTADDED_INDEX
     
    static const Int32 MSG_DESCRIPTION_RANGEGUI_USERCURRENTVALUECHANGED_MODE
     
    static const Int32 MSG_DESCRIPTION_RANGEGUI_USERCURRENTVALUECHANGED_VALUE
     
    static const Int32 MSG_DESCRIPTION_USERCURRENTVALUECHANGED_START
     
    static const Int32 MSG_DESCRIPTION_USERCURRENTVALUECHANGED_DRAG
     
    static const Int32 MSG_DESCRIPTION_USERCURRENTVALUECHANGED_END
     
    static constexpr Int32 ID_TOOL_SYSTEM_HOOK
     
    static const Int32 FIELD_EXECUTION_BLOCK_SIZE
     
    static const Float FIELD_EXECUTION_BLOCK_SIZEf
     
    static const Int32 Fspherical
     
    static const Int32 Flinear
     
    static const Int32 Fbox
     
    static const Int32 Fcylinder
     
    static const Int32 Fcone
     
    static const Int32 Ftorus
     
    static const Int32 Fobject_DEPRECATED
     
    static const Int32 Fcapsule
     
    static const Int32 Fstep_DEPRECATED
     
    static const Int32 Ftime_DEPRECATED
     
    static const Int32 Fvolume_DEPRECATED
     
    static const Int32 Fformula
     
    static const Int32 Frandom
     
    static const Int32 Fshader
     
    static const Int32 Fsound
     
    static const Int32 Fdelay_DEPRECATED
     
    static const Int32 Fdecay_DEPRECATED
     
    static const Int32 Fradial
     
    static const Int32 Fgroup
     
    static const Int32 Fpython
     
    static const Int32 FLbase
     
    static const Int32 FLplugin
     
    static const Int32 FLfolder
     
    static const Int32 FLfield
     
    static const Int32 FLsolid
     
    static const Int32 FLdescid
     
    static const Int32 FLclamp
     
    static const Int32 FLremap
     
    static const Int32 FLcurve
     
    static const Int32 FLgradient
     
    static const Int32 FLquantize
     
    static const Int32 FLinvert
     
    static const Int32 FLcolorize
     
    static const Int32 FLrangemap
     
    static const Int32 FLchannelmix
     
    static const Int32 FLnoise
     
    static const Int32 FLspline
     
    static const Int32 FLdelay
     
    static const Int32 FLdecay
     
    static const Int32 FLstep
     
    static const Int32 FLweight
     
    static const Int32 FLproximity
     
    static const Int32 FLformula
     
    static const Int32 FLtime
     
    static const Int32 FLpython
     
    static const Int32 FLmograph
     
    static const Int32 FLpolygonobject
     
    static const Int32 FLvolumeobject
     
    static const Int32 FLparticleobject
     
    static const Int32 FLtrack
     
    static const Int32 MSG_PRESAMPLE_FIELD_SINGLE
     
    static const Int32 MSG_POSTSAMPLE_FIELD_SINGLE
     
    class CINEWARE_SINGLEINHERITANCE GvOperatorData
     
    class CINEWARE_SINGLEINHERITANCE TP_PGroup
     
    class CINEWARE_SINGLEINHERITANCE TP_ParticleNode
     
    class CINEWARE_SINGLEINHERITANCE TP_MasterSystem
     
    const Int32 MSG_BIRENDER_ADDMPBUFFER
     
    static const Int32 ID_WEIGHT_MANAGER
     
    static const Int32 ID_WEIGHT_TOOL
     
    class CINEWARE_SINGLEINHERITANCE iBrushBase
     
    class CINEWARE_SINGLEINHERITANCE iGeClipMap
     
    static const Int32 ID_CUSTOMDATA_TAG_LIB
     
    class CINEWARE_SINGLEINHERITANCE xBaseCurveData
     
    class CINEWARE_SINGLEINHERITANCE xBaseSurfaceData
     
    class CINEWARE_SINGLEINHERITANCE xMappedCurveData
     
    class CINEWARE_SINGLEINHERITANCE xTrimmedSurfaceData
     
    class CINEWARE_SINGLEINHERITANCE iHairCollider
     
    class CINEWARE_SINGLEINHERITANCE BlendLayer
     
    class CINEWARE_SINGLEINHERITANCE iModeling
     
    class CINEWARE_SINGLEINHERITANCE Mt2dTrackDataSdk
     
    class CINEWARE_SINGLEINHERITANCE Mt2dTrackSdk
     
    class CINEWARE_SINGLEINHERITANCE MtDataSdk
     
    class CINEWARE_SINGLEINHERITANCE MtTrkGidSdk
     
    class CINEWARE_SINGLEINHERITANCE MtFootageDataSdk
     
    class CINEWARE_SINGLEINHERITANCE NetRenderService
     
    class CINEWARE_SINGLEINHERITANCE Repository
     
    class CINEWARE_SINGLEINHERITANCE UserPool
     
    class CINEWARE_SINGLEINHERITANCE Machine
     
    class CINEWARE_SINGLEINHERITANCE iUser
     
    class CINEWARE_SINGLEINHERITANCE iNgonBase
     
    class CINEWARE_SINGLEINHERITANCE iPaintManager
     
    class CINEWARE_SINGLEINHERITANCE iPaintView
     
    static const Int32 ID_POLYGONREDUCTION_LIB
     
    class CINEWARE_SINGLEINHERITANCE iSculptBrushBase
     
    static const Int32 ID_SUBSTANCE_ASSET
     
    static const Int32 ID_SUBSTANCE_SHADER
     
    static const Int32 ID_SUBSTANCE_LIBRARY
     
    static const Int32 ID_SUBSTANCE_PRESET
     
    static const Int32 ID_SUBSTANCE_COMMAND_OPENMANAGER
     
    static const Int32 ID_SUBSTANCE_COMMAND_SYNCTRCLIENTS
     
    static const Int32 ID_SUBSTANCE_COMMAND_LOADASSET
     
    static const Int32 ID_SUBSTANCE_COMMAND_LOADFOLDER
     
    static const Int32 ID_SUBSTANCE_COMMAND_REIMPORT
     
    static const Int32 ID_SUBSTANCE_COMMAND_CUT
     
    static const Int32 ID_SUBSTANCE_COMMAND_COPY
     
    static const Int32 ID_SUBSTANCE_COMMAND_PASTE
     
    static const Int32 ID_SUBSTANCE_COMMAND_REMOVE
     
    static const Int32 ID_SUBSTANCE_COMMAND_REMOVEUNUSED
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECT_ALL
     
    static const Int32 ID_SUBSTANCE_COMMAND_DESELECT_ALL
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECTFROMMATERIAL
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECTFROMMARKEDMATERIAL
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECTFROMOBJECT
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECTMATERIALS
     
    static const Int32 ID_SUBSTANCE_COMMAND_SELECTOBJECTS
     
    static const Int32 ID_SUBSTANCE_COMMAND_ENABLEALL
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISABLEALL
     
    static const Int32 ID_SUBSTANCE_COMMAND_OPENPREFS
     
    static const Int32 ID_SUBSTANCE_COMMAND_CREATEMATERIAL
     
    static const Int32 ID_SUBSTANCE_COMMAND_CREATEMATERIALMETALLIC
     
    static const Int32 ID_SUBSTANCE_COMMAND_CREATEMATERIALGLOSSY
     
    static const Int32 ID_SUBSTANCE_COMMAND_DUPLICATE
     
    static const Int32 ID_SUBSTANCE_COMMAND_DUPLICATEWITHMATERIAL
     
    static const Int32 ID_SUBSTANCE_COMMAND_IMPORTPRESET
     
    static const Int32 ID_SUBSTANCE_COMMAND_IMPORTPRESETMERGE
     
    static const Int32 ID_SUBSTANCE_COMMAND_EXPORTPRESET
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISKCACHESELECTED
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISKCACHECHANGED
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISKCACHEALL
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISKCACHECLEARSELECTED
     
    static const Int32 ID_SUBSTANCE_COMMAND_DISKCACHECLEARALL
     
    static const Int32 MSG_SUBSTANCE_SHD_GETBITMAP
     
    GeResource g_resource
     
    Vector64 l_empty
     
    static const Float COLORTOINT_MULTIPLIER
     
    static const Float PERCENT
     
    static const Float THIRD
     
    static const Float SIXTH
     
    static const Int32 NOISE_RESOLUTION
     
    static const maxon::ENUM_DONT_INITIALIZE DONT_INITIALIZE
     
    static const Int32 PRIVATE_NBITMASK_INDEX1
     
    static const Int32 PRIVATE_NBITMASK_INDEX2
     
    static const Int32 PRIVATE_NBITMASK_INDEX3
     
    static const Int32 PRIVATE_NBITMASK_INDEX4
     
    static const Int Mnimbus
     
    static const Int32 Xnbm
     
    static const Int32 Xnodeviewport
     
    static const Int32 XstandardSpaceActivity
     
    static const Int XnodeEmulation
     
    static const Int32 ID_SHOWSUBCHANNELS
     
    static const Int32 MOUSE_HIDE
     
    static const Int32 MOUSE_SHOW
     
    static const Int32 MOUSE_NORMAL
     
    static const Int32 MOUSE_BUSY
     
    static const Int32 MOUSE_CROSS
     
    static const Int32 MOUSE_QUESTION
     
    static const Int32 MOUSE_ZOOM_IN
     
    static const Int32 MOUSE_ZOOM_OUT
     
    static const Int32 MOUSE_FORBIDDEN
     
    static const Int32 MOUSE_DELETE
     
    static const Int32 MOUSE_COPY
     
    static const Int32 MOUSE_INSERTCOPY
     
    static const Int32 MOUSE_INSERTCOPYDOWN
     
    static const Int32 MOUSE_MOVE
     
    static const Int32 MOUSE_INSERTMOVE
     
    static const Int32 MOUSE_INSERTMOVEDOWN
     
    static const Int32 MOUSE_ARROW_H
     
    static const Int32 MOUSE_ARROW_V
     
    static const Int32 MOUSE_ARROW_HV
     
    static const Int32 MOUSE_POINT_HAND
     
    static const Int32 MOUSE_MOVE_HAND
     
    static const Int32 MOUSE_IBEAM
     
    static const Int32 MOUSE_SELECT_LIVE
     
    static const Int32 MOUSE_SELECT_FREE
     
    static const Int32 MOUSE_SELECT_RECT
     
    static const Int32 MOUSE_SELECT_POLY
     
    static const Int32 MOUSE_SPLINETOOLS
     
    static const Int32 MOUSE_EXTRUDE
     
    static const Int32 MOUSE_NORMALMOVE
     
    static const Int32 MOUSE_ADDPOINTS
     
    static const Int32 MOUSE_ADDPOLYGONS
     
    static const Int32 MOUSE_BRIDGE
     
    static const Int32 MOUSE_MIRROR
     
    static const Int32 MOUSE_PAINTMOVE
     
    static const Int32 MOUSE_PAINTSELECTRECT
     
    static const Int32 MOUSE_PAINTSELECTCIRCLE
     
    static const Int32 MOUSE_PAINTSELECTPOLY
     
    static const Int32 MOUSE_PAINTSELECTFREE
     
    static const Int32 MOUSE_PAINTMAGICWAND
     
    static const Int32 MOUSE_PAINTCOLORRANGE
     
    static const Int32 MOUSE_PAINTFILL
     
    static const Int32 MOUSE_PAINTPICK
     
    static const Int32 MOUSE_PAINTBRUSH
     
    static const Int32 MOUSE_PAINTCLONE
     
    static const Int32 MOUSE_PAINTTEXT
     
    static const Int32 MOUSE_PAINTCROP
     
    static const Int32 MOUSE_PAINTLINE
     
    static const Int32 MOUSE_PAINTPOLYSHAPE
     
    static const Int32 HIGHLIGHT_TRANSPARENCY
     
    static const Float EPSILON
     
    static const Float EPSILON2
     
    static const Float EPSILON3
     
    static const Float EPSILON5
     
    static const Float EPSILON6
     
    static const Float EPSILON7
     
    static const Float EPSILON8
     
    static const Float EPSILON10
     
    enum class  CAMORPH_PSDINTERPOLATION_MODE {
      AXIS ,
      JOINT ,
      GLOBAL ,
      DEFAULT
    }
     
    enum cinema::CAMORPH_PSDINTERPOLATION_MODE MAXON_ENUM_LIST (CAMORPH_PSDINTERPOLATION_MODE)
     

    Swap/Intel/Motorola Conversions

    void lSwap (void *adr, Int cnt=1)
     
    void wSwap (void *adr, Int cnt=1)
     
    void lIntel (void *adr, Int cnt=1)
     
    void wIntel (void *adr, Int cnt=1)
     
    void lMotor (void *adr, Int cnt=1)
     
    void wMotor (void *adr, Int cnt=1)
     
    void llSwap (void *adr, Int cnt=1)
     
    void llIntel (void *adr, Int cnt=1)
     
    void llMotor (void *adr, Int cnt=1)
     

    Background Handler

    void GeAddBackgroundHandler (BackgroundHandler *handler, void *tdata, Int32 typeclass, Int32 priority)
     
    Bool GeRemoveBackgroundHandler (void *tdata, Int32 typeclass)
     
    Bool GeStopBackgroundThreads (Int32 typeclass, BACKGROUNDHANDLERFLAGS flags, BaseThread *thread)
     
    Bool GeCheckBackgroundThreadsRunning (Int32 typeclass, Bool all)
     

    Status

    void StatusClear ()
     
    void StatusSetSpin ()
     
    void StatusSetBar (Int32 p)
     
    void StatusSetText (const maxon::String &str)
     
    void StatusNetClear ()
     
    void StatusSetNetLoad (STATUSNETSTATE status)
     
    void StatusSetNetBar (Int32 p, const GeData &dat)
     
    void StatusSetNetText (const maxon::String &str)
     

    Create

    SUBSTANCE_IMPORT_RESULT ImportSubstance (BaseDocument *const doc, const Filename &fn, SUBSTANCE_IMPORT_COPY &copyFile, Bool errPopup, Bool addUndo, Bool createMaterial, BaseList2D **assetPtr)
     
    BaseMaterialCreateMaterial (BaseList2D *const asset, Int32 graphIndex, SUBSTANCE_MATERIAL_MODE mode)
     
    BaseShaderCreateSubstanceShader (BaseList2D *const asset)
     
    Bool AssignChannelToMaterial (BaseList2D *const asset, Material *const c4dMaterial, Int32 channelId, Int32 outputUid, Bool addUndo)
     

    Get and Insert

    BaseList2DGetFirstSubstance (BaseDocument *const doc)
     
    void GetSubstances (BaseDocument *const doc, AtomArray *arr, Bool onlySelected)
     
    Bool InsertLastSubstance (BaseDocument *const doc, BaseList2D *asset)
     

    Graphs, Inputs, Outputs

    void * GetSubstanceGraph (BaseList2D *const asset, void *const prevGraph, String &name)
     
    void * GetSubstanceInput (BaseList2D *const asset, void *const graph, void *const prevInput, UInt32 &inputUid, Int32 &firstId, Int32 &numElements, SUBSTANCE_INPUT_TYPE &type, String &name)
     
    void * GetSubstanceOutput (BaseList2D *const asset, void *const graph, void *const prevOutput, UInt32 &outputUid, SUBSTANCE_OUTPUT_TYPE &type, String &name, BaseBitmap **bmpPtr)
     

    Preferences

    SUBSTANCE_MATERIAL_MODE PrefsGetMaterialModeSetting ()
     
    Int32 PrefsGetPreviewSetting ()
     

    Misc

    Bool MaterialUsesSubstance (BaseMaterial *const mat)
     
    BaseBitmapGetSubstanceMosaicPreview (BaseList2D *const asset, Int32 w, Int32 h)
     

    Private

    void UpdateImageInputPaths (BaseList2D *const asset, String &path)
     
    void CloneReferencedSubstances (BaseDocument *const doc, BaseShader *const shd, BaseDocument *const ddoc, BaseShader *const dshd)
     
    void CloneReferencedSubstancesObject (BaseDocument *const docSrc, BaseObject *const opSrc, BaseDocument *const docDst, BaseObject *const opDst)
     
    void InsertSubstancePreviewScene (BaseDocument *const doc, BaseList2D *const asset)
     
    const BaseBitmapGetContentBrowserOverlay ()
     

    Typedef Documentation

    ◆ PickSessionCallBack

    typedef void(* PickSessionCallBack) (Int32 flags, const PickSessionDataStruct *psd)

    Pick session callback. Called when a pick session has been started.
    Used to change the state of the pick session button for instance and to check if a pick session has been canceled.

    See also
    PickSessionDataStruct for an example.
    Parameters
    [in]flagsFlags: PICKSESSION_FLAG_CANCELED.
    [in]psdThe passed pick session data structure.

    ◆ ProgressDelegate

    used by LoadDocument to inform about the progress of the operation. Return True to continue the operation, False to cancel the operation.

    ◆ BM_REF

    typedef BM_INFO* BM_REF

    ◆ PROGRESS_ID

    typedef Int32 PROGRESS_ID

    ◆ MasterCallBackFunc

    typedef GeData MasterCallBackFunc(GeDialog *master, const BaseContainer &msg)

    Callback function.

    Parameters
    [in]masterThe registered dialog pointer.
    [in]msgThe message container: MCB
    Returns
    The result.

    ◆ FieldLambdaInput

    ◆ FieldLambdaOutput

    ◆ GradientRenderDataTuple

    using GradientRenderDataTuple = maxon::Tuple<maxon::GradientRenderData, maxon::GradientRenderData>

    ◆ HtmlViewerCustomGuiURLCallback

    typedef void HtmlViewerCustomGuiURLCallback(void *user_data, const maxon::String &url, Bool hasError, Int32 encoding, void *reserved)

    HTML viewer GUI URL callback. Has to be registered/unregistered with HtmlViewerCustomGui::SetURLCallback().

    Parameters
    [in]user_dataThe user data.
    [in]urlThe URL.
    [in]encodingThe URL encoding: URL_ENCODING
    [in,out]reservedReserved.

    ◆ HtmlViewerCustomGuiResourceRequestInterceptCallback

    typedef maxon::Opt<maxon::BaseArray<Char> > HtmlViewerCustomGuiResourceRequestInterceptCallback(void *user_data, const maxon::String &url, Int32 encoding, void *reserved)

    HTML viewer GUI resource request interception callback. Has to be registered/unregistered with HtmlViewerCustomGui::SetResourceRequestInterceptCallback().

    Parameters
    [in]user_dataThe user data.
    [in]urlThe URL.
    [in]encodingThe URL encoding: URL_ENCODING
    [in,out]reservedReserved.

    ◆ CustomIconGetIdDelegate

    ◆ CustomIconDrawDelegate

    ◆ VisitChildrenCallback

    typedef Bool(* VisitChildrenCallback) (void *root, void *obj, void *userdata, void *data1, void *data2, Bool &bCont)

    Callback for TreeViewFunctions::VisitChildren. Called for each child.

    Parameters
    [in]rootThe tree view root.
    [in]objThe child object.
    [in]userdataThe user data.
    [in]data1The first data.
    [in]data2The second data.
    [out]bContSet to true to continue browsing, otherwise to false.
    Returns
    true if successful, otherwise false.

    ◆ RenderPreviewImageCallback

    typedef Bool(* RenderPreviewImageCallback) (Int32 lMessage, void *pData, void *pUserData)

    Called to process host message for the MaterialPreviewData when initialized with this callback.

    Parameters
    [in]lMessageThe message: MATPREVIEW
    [in]pDataThe message data.
    [in]pUserDataA clone of the user data.
    Returns
    true if successful, otherwise false.

    ◆ SplineDataCallback

    typedef Bool(* SplineDataCallback) (Int32 id, const void *d)

    User callback set by SplineData::SetUserCallback.

    Parameters
    [in]idThe type of call: SPLINE_CALLBACK
    [in]dThe callback data. Can be either SplineDataCallbackDraw, SplineDataCallbackCursorInfo or SplineDataCallbackCoreMessage depending on the callback call id.
    Returns
    true if successful, otherwise false.

    ◆ FalloffDataAllocator

    typedef FalloffData* FalloffDataAllocator()

    FalloffData allocator.

    ◆ FieldOutputRef

    ◆ RelativeFilename

    Filename path is relative.

    ◆ TexturePathTuple

    ◆ TexturePathList

    ◆ OBSOLETE

    typedef UChar OBSOLETE

    ◆ PluginHelpDelegate

    typedef Bool(* PluginHelpDelegate) (const maxon::String &opType, const maxon::String &baseType, const maxon::String &group, const maxon::String &property)

    Plugin help support callback. Can be used to display context sensitive help when the user selects "Show Help" for an object or attribute.

    Note
    All names are always uppercase.
    Warning
    Only return true for your own object types.
    Parameters
    [in]opTypeThe object type name, for example "OATOM".
    [in]baseTypeThe name of the base object type that opType is derived from, usually the same as opType.
    [in]groupThe name of the group in the attribute manager, for example "ID_OBJECTPROPERTIES".
    [in]propertyThe name of the object property, for example "ATOMOBJECT_SINGLE".
    Returns
    true if if the plugin can display help for this request, otherwise false.

    ◆ IlluminanceSurfacePointModel

    typedef void IlluminanceSurfacePointModel(VolumeData *sd, RayLightCache *rlc, IlluminanceSurfacePointData *dat)

    Callback definition for surface point illumination models.

    Parameters
    [in]sdThe volume data for the point being calculated. Cinema 4D owns the pointed volume data.
    [in]rlcThe light data cache for the point being calculated. Cinema 4D owns the pointed data.
    [in]datThe illuminance surface point data.

    ◆ SphereArc

    Represents an arc on a sphere. Private.

    ◆ MinMax

    typedef LMinMax MinMax

    ◆ PIX

    typedef UChar PIX

    8-bit integer pixel type.

    ◆ PIX_C

    typedef UChar PIX_C

    8-bit integer pixel type.

    ◆ PIX_W

    typedef UInt16 PIX_W

    16-bit integer pixel type.

    ◆ PIX_F

    typedef Float32 PIX_F

    32-bit float pixel type.

    ◆ Vector32

    Single-Precision Vector. A vector contains three components X, Y and Z

    ◆ Vector64

    Double-Precision Vector. A vector contains three components X, Y and Z

    ◆ Vector

    ◆ Vector2d

    ◆ Vector2d64

    ◆ Matrix64

    ◆ Matrix32

    ◆ Matrix

    ◆ Hndl

    typedef void* Hndl

    ◆ INT

    typedef int INT

    ◆ UINT

    typedef unsigned int UINT

    ◆ Bool

    typedef maxon::Bool Bool

    ◆ Char

    typedef maxon::Char Char

    ◆ UChar

    ◆ Int16

    ◆ UInt16

    ◆ Int32

    ◆ UInt32

    ◆ Int64

    ◆ UInt64

    ◆ Int

    typedef maxon::Int Int

    ◆ UInt

    typedef maxon::UInt UInt

    ◆ Float

    ◆ Float64

    ◆ Float32

    ◆ Utf32Char

    32 bit unicode (UTF-32) character.

    Note
    This is the datatype for a single 32 bit unicode character.
    Since
    R17.032

    ◆ Utf16Char

    16 bit unicode character.

    Note
    Complex unicodes can be composed of two individual 16 bit characters.
    Since
    R17.032

    ◆ Matrix4d32

    Single-precision Matrix4.

    ◆ Matrix4d64

    Double-precision Matrix4.

    ◆ Matrix4d

    Matrix4 for double-precision Cinema 4D versions.

    ◆ FieldOutputBlock

    ◆ ConstFieldOutputBlock

    ◆ NetworkIpAddr

    ◆ NetworkIpAddrPort

    ◆ NetworkInterface

    using NetworkInterface = maxon::NetworkInterface

    ◆ ZeroConfService

    using ZeroConfService = maxon::ZeroConfServiceRef

    ◆ ProcessEditorPreviewImageFn

    using ProcessEditorPreviewImageFn = maxon::Delegate<maxon::Result<void>(BaseBitmap const* &bitmap, UInt32 & checksum)>

    ◆ ModifyFilenameDelegate

    using ModifyFilenameDelegate = maxon::Delegate<maxon::Result<void>(Int32 message, const Filename& oldName, const Filename& newName)>

    ◆ OcioConverterRef

    ◆ UVWHandle

    typedef void* UVWHandle

    Handle for UVW data. See also: UVWTag.

    ◆ ConstUVWHandle

    typedef const void* ConstUVWHandle

    Handle for read-only UVW data. See also: UVWTag.

    ◆ NormalHandle

    typedef void* NormalHandle

    Handle for normal data. See also: NormalTag.

    ◆ ConstNormalHandle

    typedef const void* ConstNormalHandle

    Handle for read-only normal data. See also: NormalTag.

    ◆ VertexColorHandle

    typedef void* VertexColorHandle

    Handle for vertex color data. See also VertexColorTag.

    Since
    R18

    ◆ ConstVertexColorHandle

    typedef const void* ConstVertexColorHandle

    Handle for read-only vertex color data. See also VertexColorTag.

    Since
    R18

    ◆ Vector4d32

    ◆ Vector4d64

    ◆ Vector4d

    Enumeration Type Documentation

    ◆ ACCESSED_OBJECTS_MASK

    enum ACCESSED_OBJECTS_MASK
    strong

    ACCESSED_OBJECTS_MASK is used for AccessedObjectsCallback to tell which data of an object is accessed.

    Enumerator
    NONE 
    MATRIX 

    The matrix will be accessed (including e.g. frozen matrix). This doesn't include the global matrix.

    DATA 

    Data accessible via Get/SetParameter (including data stored in the BaseContainer and the DIRTYFLAGS::DATA bit) will be accessed.

    BITS 

    The Bits (BaseList2D::GetBit) of the object will be accessed.

    NBITS 

    The NBits (GeListNode::GetNBit) of the object will be accessed.

    FALLOFF 

    The falloff member will be accessed.

    MEMBER 

    Some other member (neither matrix, data container/parameter, bits, nor falloff) of the object will be accessed.

    DEFORM_MODE 

    The deform mode of a generator/deformer will be accessed.

    CACHE_FLAG 

    The cache of the object will be accessed. This includes cache-related data such as the dependence list, cache proxy tags, or the IsDirty/ClearDirty/Touch-controlled dirty information. During generator execution this has a hierarchical meaning, so when a generator tells that it may read from an object's cache, it is allowed to read nested caches as well. Don't use this flag directly, use CACHE instead.

    CACHE 

    The cache of the object will be accessed. Combination of CACHE_FLAG and BITS as CACHE_FLAG implies BITS.

    VARIABLE_TAG 

    A VariableTag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT.

    NON_VARIABLE_TAG 

    A non-VariableTag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT.

    ANY_TAG 

    A tag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT. Combination of VARIABLE_TAG and NON_VARIABLE_TAG.

    DESCRIPTION 

    The dirty information DIRTYFLAGS::DESCRIPTION will be accessed.

    ALL 

    All flags combined (except GLOBAL_MATRIX and CHILD_CACHE).

    GLOBAL_MATRIX_FLAG 

    The global matrix will be accessed. This flag may only be used for read access. Don't use this flag directly, use GLOBAL_MATRIX instead.

    CHILD_CACHE 

    Only a child cache of the cache will be affected. Don't use this flag directly, it will be set internally together with CACHE_FLAG to take into account that whenever a cache is modified and it is part of a parent cache, the parent cache is affected as well.

    GLOBAL_MATRIX 

    The global matrix will be accessed. Combination of GLOBAL_MATRIX_FLAG and MATRIX as GLOBAL_MATRIX_FLAG implies MATRIX.

    ◆ METHOD_ID

    enum METHOD_ID : Int32
    strong

    METHOD_ID is used for BaseList2D::GetAccessedObjects to tell for which method accessed objects shall be obtained. Non-negative values represent calls to the generic BaseTag/BaseObject::Execute method with the METHOD_ID as execution priority. Negative values represent calls to specific methods such as GetVirtualObjects.

    Enumerator
    MIN_EXECUTION_ID 

    Minimum value which encodes a call to BaseTag/BaseObject::Execute with the METHOD_ID as execution priority.

    NONE 

    No method call.

    GET_VIRTUAL_OBJECTS 

    BaseObject::GetVirtualObjects method of generators. For spline generators this includes the methods GetContour and CheckDirty.

    MODIFY_OBJECT 

    BaseObject::ModifyObject method of deformers and tags, also used for matrix modifier tags and variable tags with fields.

    GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT 

    BaseObject::GetVirtualObjects and/or BaseObject::ModifyObject. This special method id can be used for BaseList2D::GetAccessedObjectsRec and its related functions GetAccessedObjectsOfHierarchy, GetAccessedObjectsOfChildren, GetAccessedObjectsOfFirstChildHierarchy. It will call GetAccessedObjects on generators and modifiers and makes sure that this includes all modifiers which effect a generator. E.g., if you call GetAccessedObjectsRec on a generator, GetAccessedObjects will be called not only on the generator but also on its modifier children, modifier tags, matrix modifier tags, and variable tags with fields.

    This method id must NOT be used for direct calls to GetAccessedObjects.

    You don't have to check for GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT in implementations of GetAccessedObjects, the replacement by GET_VIRTUAL_OBJECTS or MODIFY_OBJECT is done internally before GetAccessedObjects implementations are called.

    GV_CALCULATE 
    SAMPLE 

    Sampling methods of falloffs and fields, including InitFalloff.

    CHECK_DIRTY 

    CheckDirty method of falloffs, fields and deformers. The CheckDirty method of spline generators is subsumed in GET_VIRTUAL_OBJECTS.

    EFFECTOR 

    Effector methods.

    ◆ GET_ACCESSED_OBJECTS_FLAGS

    Enumerator
    NONE 
    CLONE_WITH_MODIFIED_PARAMETERS 

    ◆ STRENGTHMASK

    enum STRENGTHMASK
    strong
    Enumerator
    NONE 
    POS_X 
    POS_Y 
    POS_Z 
    POS 
    SCALE_X 
    SCALE_Y 
    SCALE_Z 
    SCALE 
    ROT_X 
    ROT_Y 
    ROT_Z 
    ROT 
    COL_X 
    COL_Y 
    COL_Z 
    COL 
    OTHER_X 
    OTHER_Y 
    OTHER_Z 
    OTHER 
    OTHER2_X 
    OTHER2_Y 
    OTHER2_Z 
    OTHER2 
    OTHER3_X 
    OTHER3_Y 
    OTHER3_Z 
    OTHER3 

    ◆ SCRIPT_CONTEXT

    enum SCRIPT_CONTEXT
    strong

    Describes the script contexts that can be conveyed by ScriptInfoData events.

    Enumerator
    UNKNOWN 

    Used for unknown script types.

    SCRIPT_MANAGER 

    Used for Script Manager scripts.

    GENERATOR_PYTHON 

    Used for Python Generator object scripts.

    EFFECTOR_PARAMETER_MODE 

    Used for Python Effector parameter control scripts.

    EFFECTOR_FULL_MODE 

    Used for Python Effector full control scripts.

    FIELD_OBJECT 

    Used for Python Field object scripts.

    FIELD_LAYER 

    Used for Python Field layer scripts.

    TAG_PYTHON 

    Used for Python tag scripts.

    TAG_INTERACTION 

    Used for Interaction tag scripts.

    TAG_VISUAL_SELECTOR 

    Used for Visual Selector tag scripts.

    TAG_CHARACTER_COMPONENT 

    Used for Character Component tag scripts.

    MAT_SKETCHTOON_COLOR 

    Used for Sketch and Toon color channel scripts.

    MAT_SKETCHTOON_THICKNESS 

    Used for Sketch and Toon thickness channel scripts.

    MAT_SKETCHTOON_OPACITY 

    Used for Sketch and Toon opacity channel scripts.

    GVNODE_PYTHON 

    Used for Python Xpresso node scripts.

    ◆ SCRIPT_LANGUAGE

    enum SCRIPT_LANGUAGE
    strong

    Describes scripting languages that can be conveyed by ScriptInfoData events.

    Enumerator
    UNKOWN 

    Used for all unknown syntaxes.

    PYTHON 

    Used for Standard CPython syntax.

    OSL 

    Used for Open Shading Language syntax.

    ◆ AMFILTERFLAGS

    enum AMFILTERFLAGS
    strong

    Attribute Manager filter flags.

    Enumerator
    NONE 

    None.

    SHOWHIDDEN 

    Show hidden parameters.

    SHOWANIMONLY 

    Show animated parameters.

    SHOWLOCKED 

    Show locked parameters.

    HIDEINLINEATTRIBUTES 

    Hide attributes if marked with DESC_HIDE_WHEN_INLINE.

    SHOWKEYFRAMESEL 

    Hide attributes if they are not in keyframe selection.

    SHOWANIMATED 

    Hide attributes if they are not animated.

    SHOWDRIVERDRIVENXPRESSO 

    Hide attributes if they are an expresso driver or driven.

    SHOWOVERRIDEN 

    Hide attributes if they are overriden.

    ◆ FIELDLIST_FLAGS

    enum FIELDLIST_FLAGS
    strong
    Enumerator
    NONE 

    No flags.

    CLAMPOUTPUT 

    Clamp the output values from the FieldList.

    ENABLEDIRECTIONBYDEFAULT 

    Have direction enabled by default on new layers.

    ENABLECOLORBYDEFAULT 

    Have color enabled by default on new layers.

    DISABLEVALUEBYDEFAULT 

    Disable the value channel by default on new layers.

    SIMPLEGUI 

    Use a simplified GUI, this is only possible if there is only a single standard field layer in the datatype.

    ENABLEROTATIONBYDEFAULT 

    Have direction enabled by default on new layers.

    ◆ FONTCHOOSER_POPUP_RESULT

    Enumerator
    OK 

    User has selected a font.

    CANCEL 

    User has cancelled popup, either by pressing ESC key or by clicking outside.

    ◆ anonymous enum

    anonymous enum
    Enumerator
    ID_ICONCHOOSER_SETTINGS_SPECIALCASES 

    ◆ MAXONCONVERTMODE

    enum MAXONCONVERTMODE
    strong
    Enumerator
    NONE 

    No check if file exists under case-sensitive drives.

    READ 

    Check for file read operation.

    WRITE 

    Check for file write operation.

    ◆ DEFAULTVALUETYPE

    Enumerator
    DEFAULTVALUE 

    Dummy value for the default value GeData constructor.

    ◆ VOIDVALUETYPE

    Enumerator
    VOIDVALUE 

    Dummy value for the void* GeData constructor.

    ◆ LLONGVALUETYPE

    Enumerator
    LLONGVALUE 

    Dummy value for the long long (64-bit integer) GeData constructor.

    ◆ CUSTOMDATATAG_MODE

    enum CUSTOMDATATAG_MODE
    strong
    Enumerator
    VERTEX 
    POLYVERTEX 

    ◆ CurveTypeEnum

    Enumerator
    CurveTypeNURBS 
    CurveTypePolynom 
    CurveTypeLine 
    CurveTypeCircular 
    CurveTypeConic 
    CurveTypeComposite 
    CurveTypeCount 

    ◆ SurfaceTypeEnum

    Enumerator
    SurfaceTypeNURBS 
    SurfaceTypePolynom 
    SurfaceTypePlane 
    SurfaceTypeExtrude 
    SurfaceTypeRotate 
    SurfaceTypeCount 

    ◆ MappedCurveTypeEnum

    Enumerator
    MappedCurveTypeStandard 
    MappedCurveTypeSegment 
    MappedCurveTypeCount 

    ◆ TrimmedSurfaceTypeEnum

    Enumerator
    TrimmedSurfaceTypeStandard 
    TrimmedSurfaceTypeCount 

    ◆ LineCurveTypeEnum

    Enumerator
    LineCurveTypeBounded 
    LineCurveTypeSemibounded 
    LineCurveTypeUnbounded 
    LineCurveTypeCount 

    ◆ ConicCurveTypeEnum

    Enumerator
    ConicCurveTypeDeprecated 
    ConicCurveTypeEllipse 
    ConicCurveTypeHyperbola 
    ConicCurveTypeParabola 
    ConicCurveTypeCount 

    ◆ ConicTypeEnum

    Enumerator
    ConicTypeCircle 
    ConicEllipse 
    ConicHyperbola 
    ConicParabola 
    ConicIntersecting 
    ConicCoincident 
    ConicParallel 
    ConicUndefined 
    ConicTypeCount 

    ◆ PlaneSurfaceTypeEnum

    Enumerator
    PlaneSurfaceTypeBounded 
    PlaneSurfaceTypeUnbounded 
    PlaneSurfaceTypeCount 

    ◆ TASKSTATE

    enum TASKSTATE
    strong
    Enumerator
    NEW 
    ASSIGNED 
    TRANSFERED 
    ASSEMBLED 
    SKIPPED 

    ◆ MIXVECTORTYPE

    enum MIXVECTORTYPE
    strong
    Enumerator
    NONE 
    NORMAL 
    ADD 
    SUBTRACT 
    CROSS 

    ◆ MTBODYPARTTRANSFERATTRIBUTEMODE

    Enumerator
    BYID 

    Transfer using the ID.

    BYNAME 

    Transfer using the Name.

    BOTH 

    Transfer using both technique.

    ◆ VERTEXCOLOR_DISPLAYMODE

    Enumerator
    NONE 
    COLOR 
    ALPHA 

    ◆ _DONTCONSTRUCT

    Enumerator
    DC 

    Pass this to invoke the no-op constructor.

    ◆ _EMPTYCONSTRUCT

    Enumerator
    EC 

    Pass this to invoke the no-op empty constructor.

    ◆ LINESTYLE

    enum LINESTYLE
    strong
    Enumerator
    NORMAL 
    DOTTED 
    DASHED 
    DASHED_INV 
    DASHED_BIG 

    ◆ DETAILSELECTOR

    enum DETAILSELECTOR
    strong
    Enumerator
    NONE 
    SELECTED 
    NONSELECTED 

    ◆ HOTKEYFLAGS

    enum HOTKEYFLAGS
    strong
    Enumerator
    NONE 
    MOUSE 
    KEYBOARD 

    ◆ FOLDMODE

    enum FOLDMODE
    strong
    Enumerator
    NONE 
    HIDEMYSELF 
    EXPAND1STEP 
    EXPANDCOMPLETELY 

    ◆ TAGBITS

    enum TAGBITS
    strong
    Enumerator
    NONE 
    TDISPLAY 
    TCOMPOSITING 
    TTEXTURE 
    MODIFYOBJECT 
    MODIFYMATRIX 
    TSTOP 
    TIMPLEMENTSDRAWFUNCTION 
    TGROUPPRIORITY 
    TEXPRESSION 
    TNEUTRONGENERATEDPROXY 

    ◆ anonymous enum

    anonymous enum
    Enumerator
    TAB_TABS 

    Normal tabs.

    TAB_NOSELECT 

    No tabs.

    TAB_CYCLE 

    Popup buttons instead of tabs.

    TAB_RADIO 

    Radio buttons instead of tabs.

    TAB_VLTABS 

    Vertical tabs, left-sided.

    TAB_VRTABS 

    Vertical tabs, right-sided.

    BFV_CENTER 

    Centered vertically.

    BFV_TOP 

    Aligned to the top. 1<<0.

    BFV_BOTTOM 

    Aligned to the bottom. 1<<1.

    BFV_FIT 

    Fit. BFV_BOTTOM|BFV_TOP.

    BFV_SCALE 

    Scale if there is more space. 1<<2.

    BFV_SCALEFIT 

    Scale fit. BFV_SCALE|BFV_FIT.

    BFV_MASK 

    Masks out flags.

    BFH_CENTER 

    Centered horizontally.

    BFH_LEFT 

    Aligned to the left. 1<<3.

    BFH_RIGHT 

    Aligned to the right. 1<<4.

    BFH_FIT 

    Fit. BFH_LEFT|BFH_RIGHT.

    BFH_SCALE 

    Scale if there is more space. 1<<5.

    BFH_SCALEFIT 

    Scale fit. BFH_SCALE|BFH_FIT.

    BFH_MASK 

    Masks out flags.

    DR_MULTILINE_MONOSPACED 

    Monospaced font.

    DR_MULTILINE_SYNTAXCOLOR 

    Python syntax highlighting.

    DR_MULTILINE_STATUSBAR 

    Display a statusbar with the cursor position.

    DR_MULTILINE_HIGHLIGHTLINE 

    Highlight lines.

    DR_MULTILINE_READONLY 

    Read-only multi-line field.

    DR_MULTILINE_PYTHON 

    Python line return handling.

    DR_MULTILINE_WORDWRAP 

    Word wrap multi-line field.

    DR_MULTILINE_SETLOGGER 
    DR_MULTILINE_SETPYTHONSCOPE 
    DR_MULTILINE_NO_DARK_BACKGROUND 

    Uses not dark but normal background color.

    Since
    S22
    DR_MULTILINE_NO_BORDER 

    No border.

    Since
    S22
    DR_MULTILINE_NO_SCROLLBARS 

    Shows all the text without scrollbars.

    Since
    S22
    DR_MULTILINE_BOLD 

    Bold font.

    Since
    S22
    DR_MULTILINE_DROP_TEXT_QUOTED 

    Drag & drop BaseList2d name with quotes.

    Since
    R25
    DR_MULTILINE_RESERVED_MONOSPACED 

    Internal use.

    Since
    S26
    DR_MULTILINE_RESERVED_SYNTAXCOLOR 

    Internal use.

    Since
    S26
    DR_MULTILINE_RESERVED_STATUSBAR 

    Internal use.

    Since
    S26
    DR_MULTILINE_RESERVED_HIGHLIGHTLINE 

    Internal use.

    Since
    S26
    DR_MULTILINE_LINECOUNT 

    Default multiline line count.

    Since
    S26
    DR_MULTILINE_SUBMITONENTER 

    Submits the text when pressing enter.

    DR_COLORFIELD_NO_BRIGHTNESS 

    Disables the brightness control.

    DR_COLORFIELD_NO_COLOR 

    Disables the color control.

    DR_COLORFIELD_BODYPAINT 

    Uses the BodyPaint style. Deprecated since R17. Not needed anymore: now just one style.

    DR_COLORFIELD_ICC_BASEDOC 

    Uses the color profile of the current BaseDocument.

    DR_COLORFIELD_ICC_BPTEX 

    Uses the color profile of the current BodyPaint texture.

    DR_COLORFIELD_NO_MODE_BUTTONS 

    Hides the color mode buttons.

    Since
    R17.032
    DR_COLORFIELD_NO_COMPACT 

    Hides the Compact Mode button.

    Since
    R18
    DR_COLORFIELD_NO_COLORWHEEL 

    Hides the Color Wheel mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_SPECTRUM 

    Hides the Color Spectrum mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_PICTURE 

    Hides the Color From Picture mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_RGB 

    Hides the RGB sliders mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_HSV 

    Hides the HSV sliders mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_KELVIN 

    Hides the Kelvin Color Temperature mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_MIXER 

    Hides the Color Mixer mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_SWATCHES 

    Hides the Swatches mode button.

    Since
    R17.032
    DR_COLORFIELD_NO_SCREENPICKER 

    Hides the ScreenPicker mode button.

    Since
    R17.032
    DR_COLORFIELD_ENABLE_COMPACT 

    Enables the Compact Mode.

    Since
    R18
    DR_COLORFIELD_ENABLE_COLORWHEEL 

    Enables the Special Color Wheel mode (Special modes are exclusive each other: use only one at a time).

    Since
    R17.032
    DR_COLORFIELD_ENABLE_SPECTRUM 

    Enables the Special Color Spectrum mode (Special modes are exclusive each other: use only one at a time).

    Since
    R17.032
    DR_COLORFIELD_ENABLE_PICTURE 

    Enables the Special Color from Picture mode (Special modes are exclusive each other: use only one at a time).

    Since
    R17.032
    DR_COLORFIELD_ENABLE_RGB 

    Enables the RGB sliders mode.

    Since
    R17.032
    DR_COLORFIELD_ENABLE_HSV 

    Enables the HSV sliders mode.

    Since
    R17.032
    DR_COLORFIELD_ENABLE_KELVIN 

    Enables the Kelvin Color Temperature mode.

    Since
    R17.032
    DR_COLORFIELD_ENABLE_MIXER 

    Enables the Color Mixer mode.

    Since
    R17.032
    DR_COLORFIELD_ENABLE_SWATCHES 

    Enables the Swatches mode.

    Since
    R17.032
    DR_COLORFIELD_RGB_HIDE_HEX 

    Hides the Hexadecimal color field in the RGB Mode.

    Since
    R17.032
    DR_COLORFIELD_POPUP 

    Private.

    Since
    R17.032
    DR_COLORFIELD_AS_UI_COLOR 

    Turns the color chooser gui into a color chooser for ui colors(colors that are not color managed).

    DROLDWIN_SDK 
    DR_BUTTON_STYLE_NORMAL 

    Normal button style.

    DR_BUTTON_STYLE_EMPHASIZED 

    Accentuated button style.

    DR_BUTTON_STYLE_DIMMED 

    Attenuated button style.

    GADGET_FLAG_HANDLE_SCROLL_GROUP 

    @markprivate CoreUI user area handles scroll group on its own.

    DIALOGRESOURCE_ 

    ◆ OPENDIALOGFLAGS

    enum OPENDIALOGFLAGS
    strong
    Enumerator
    NONE 
    IGNORELAYOUT 

    set to ignore to load layout informations from the layout file

    CLIENTCOORDINATES 

    defines to open the window position and size in window client coordinates, this means the given position and size will be adjusted with the window borders

    ALIGNTOPLEFTATMOUSE 

    aligns the manager at the top/left position of the current mouse position.

    Function Documentation

    ◆ MAXON_ENUM_FLAGS() [1/11]

    enum cinema::ACCESSED_OBJECTS_MASK cinema::MAXON_ENUM_FLAGS ( ACCESSED_OBJECTS_MASK  )

    ◆ MAXON_ENUM_ORDERED_LIST()

    enum cinema::METHOD_ID Int32 cinema::MAXON_ENUM_ORDERED_LIST ( METHOD_ID  )

    ◆ MAXON_ENUM_FLAGS() [2/11]

    ◆ InitResourceIcon()

    IconData cinema::InitResourceIcon ( Int32  resource_id)

    Loads the global icon with ID resource_id.
    Cinema 4D registers hundreds of its icons at program start and this way you can access them, for example RESOURCEIMAGE_MOVE is the move symbol. It is also possible to access the icons for commands.

    Parameters
    [in]resource_idThe resource ID to load.
    Returns
    The loaded icon.

    ◆ InitResourceBitmap()

    BaseBitmap* cinema::InitResourceBitmap ( Int32  resource_id)

    Loads the global icon with ID resource_id as a bitmap.
    Cinema 4D registers hundreds of its icons at program start and this way you can access them, for example RESOURCEIMAGE_MOVE is the move symbol. It is also possible to access the icons for commands.

    Parameters
    [in]resource_idThe resource ID to load.
    Returns
    The loaded bitmap.

    ◆ GetBitmapFromLockList()

    BaseBitmap* cinema::GetBitmapFromLockList ( BaseDocument doc,
    Filename fn,
    Int32  frame,
    LayerSet lsl,
    LockList *&  lockList,
    INITRENDERRESULT initRenderResult = nullptr 
    )

    Gets a bitmap from a locklist.

    Parameters
    [in]docThe document to which the locklist belongs.
    [in]fnFilename of the texture.
    [in]frameFrame number.
    [in]lslLayer set.
    [out]lockListThe locklist to which this bitmap belongs.
    [out]initRenderResultResult of loading the textures. Can be nullptr.
    Returns
    The locklist bitmap.

    ◆ Unlock()

    void cinema::Unlock ( LockList *&  lockList)

    Unlocks a locklist. The parameter must be the same that was returned from GetBitmapFromLockList.

    Parameters
    [in]lockListLocklist to unlock.

    ◆ IsMarkedForDeletion()

    Bool cinema::IsMarkedForDeletion ( const LockList *  lockList)

    Checks if a locklist is marked for deletion.

    Parameters
    [in]lockListLocklist to check.

    ◆ GetImageSettingsDictionary()

    maxon::Result<maxon::DataDictionary> cinema::GetImageSettingsDictionary ( const BaseContainer data,
    Int32  filterId 
    )

    Extracts the DataDictionary from the BaseContainer.
    The DataDictionary stores the image format settings.

    Parameters
    [in]dataBaseContainer to extract.
    [in]filterIdFilter id to separate settings between different filters.
    Returns
    Extracted DataDictionary.

    ◆ SetImageSettingsDictionary()

    maxon::Result<void> cinema::SetImageSettingsDictionary ( const maxon::DataDictionary &  settings,
    BaseContainer data,
    Int32  filterId 
    )

    Replaces the DataDictionary in the BaseContainer.
    The DataDictionary stores the image format settings.

    Parameters
    [in]settingsSettings to replace
    [out]dataBaseContainer to modify.
    [in]filterIdFilter id to separate settings between different filters.
    Returns
    OK on success.

    ◆ BitmapSaverPluginSupport() [1/2]

    Bool cinema::BitmapSaverPluginSupport ( BitmapSaverPlugin bp,
    Int  flags 
    )

    ◆ BitmapSaverPluginSupport() [2/2]

    Bool cinema::BitmapSaverPluginSupport ( Int32  format,
    Int  flags 
    )

    ◆ BitmapSaverPluginIsMovie() [1/2]

    Bool cinema::BitmapSaverPluginIsMovie ( BitmapSaverPlugin bp)

    ◆ BitmapSaverPluginIsMovie() [2/2]

    Bool cinema::BitmapSaverPluginIsMovie ( Int32  format)

    ◆ HandleShaderPopupI()

    Bool cinema::HandleShaderPopupI ( BaseList2D parent,
    BaseShader *&  current,
    Int32  value,
    Int  param 
    )

    Simplifies the task of shader operations: undo handling, removing existing shaders, keeping track of the shader trees etc. ('I' stands for isolated.)

    See also
    HandleShaderPopup()
    Parameters
    [in]parentElement that carries the shaders. The caller owns the pointed object.
    [in]currentCurrently set element, might be deleted, in which case the pointer is set to nullptr. The caller owns the pointed shader.
    [in]valueThe operation: SHADERPOPUP
    [in]paramThe parameter. Depends on value
    Returns
    true if successful, otherwise false.

    ◆ BuildShaderPopupMenuI()

    Bool cinema::BuildShaderPopupMenuI ( BaseContainer menu,
    BaseList2D parent,
    BaseShader current,
    Int  param 
    )

    Private.

    ◆ HandleShaderPopup()

    Bool cinema::HandleShaderPopup ( const BaseContainer bc,
    const DescID descid,
    Int32  value,
    Int  param 
    )

    Simplifies the task of shader operations: undo handling, removing existing shaders, keeping track of the shader trees etc.

    See also
    HandleShaderPopupI().
    Parameters
    [in]bcA container with links to BaseList2D elements. These must be stored under increasing IDs (starting with 1).
    [in]descidThe description ID under which the shaders are stored.
    [in]valueThe operation: SHADERPOPUP
    [in]paramThe parameter. Depends on value
    Returns
    true if successful, otherwise false.

    ◆ BuildShaderPopupMenu()

    Bool cinema::BuildShaderPopupMenu ( BaseContainer menu,
    const BaseContainer bc,
    const DescID descid,
    Int  param 
    )

    Private.

    ◆ GetChannelName()

    String cinema::GetChannelName ( Int32  channelid)

    Retrieves the name for the given channel type ID.

    Parameters
    [in]channelidThe channel type: CHANNEL
    Returns
    The name for the channel type.

    ◆ GetActiveDocument()

    BaseDocument* cinema::GetActiveDocument ( )

    Gets the active document within the Cinema 4D editor.

    Returns
    The active document. Cinema 4D owns the pointed document.

    ◆ GetFirstDocument()

    BaseDocument* cinema::GetFirstDocument ( )

    Gets the first document in the list of documents within Cinema 4D.

    Returns
    The first document. Cinema 4D owns the pointed document.

    ◆ LoadFile()

    Bool cinema::LoadFile ( const Filename name,
    Bool  allowAsync 
    )

    Asks Cinema 4D to load a file. This can be a document, an image, a layout or a lib4d/cat4d file.

    Parameters
    [in]nameThe name of the file to load.
    [in]allowAsyncTrue to allow loading the file async. Pleasee note that the function returns before loading is finished in that case.
    Returns
    true if the file was loaded successfully or the async job was successfully enqueued, otherwise false.

    ◆ InsertBaseDocument()

    void cinema::InsertBaseDocument ( BaseDocument doc)

    Inserts a document into the list of documents within Cinema 4D.

    Note
    SetActiveDocument() is called implicitly.
    Warning
    If the current active document is empty then it will be destroyed in the process of inserting the new document.
    Be careful passing a document pointing to the previous active one.
    Parameters
    [in]docThe document to insert. Cinema 4D takes over the ownership of the pointed document.

    ◆ SetActiveDocument()

    void cinema::SetActiveDocument ( BaseDocument doc)

    Sets the document in the editor that the user is editing, this is the active document.

    Warning
    It's mandatory that the passed doc is already inserted into the Cinema 4D list of documents. This can be done with InsertBaseDocument().
    Parameters
    [in]docThe document to become active. The caller owns the pointed document.

    ◆ CloseAllDocuments()

    Bool cinema::CloseAllDocuments ( )

    Closes all open documents.

    Returns
    true if all documents have been closed, otherwise false.

    ◆ KillDocument()

    void cinema::KillDocument ( BaseDocument *&  doc)

    Removes and frees all resources of the passed document.

    Parameters
    [in,out]docThe document to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

    ◆ LoadDocument()

    BaseDocument* cinema::LoadDocument ( const Filename name,
    SCENEFILTER  loadflags,
    BaseThread thread,
    maxon::String errorString = nullptr,
    const ProgressDelegate progressDelegate = ProgressDelegate() 
    )

    Similar to LoadFile() but this time the document is not put into the editors list of documents and it gives control over the loaded document.

    Parameters
    [in]nameThe name of the file to load the document from.
    [in]loadflagsThe scene filter flags for the loader: SCENEFILTER
    [in]threadThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    [out]errorStringAssigned a string if an error occurred.
    [in]progressDelegateProgressDelegate to receive the progress. see ProgressDelegate.
    Returns
    The document that was loaded, or nullptr if it failed.

    ◆ MergeDocument()

    Bool cinema::MergeDocument ( BaseDocument doc,
    const Filename name,
    SCENEFILTER  loadflags,
    BaseThread thread,
    maxon::String errorString = nullptr,
    const ProgressDelegate progressDelegate = ProgressDelegate() 
    )

    Merges the file name into the document doc.

    Parameters
    [in]docThe document to merge the loaded document name into. The caller owns the pointed document.
    [in]nameThe file to merge into doc.
    [in]loadflagsThe scene filter flags for the loader: SCENEFILTER
    [in]threadThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    [out]errorStringAssigned a string if an error occurred.
    [in]progressDelegateProgressDelegate to receive the progress. see ProgressDelegate.
    Returns
    true if merging the file name into the document doc was successful, otherwise false.

    ◆ SaveDocument()

    Bool cinema::SaveDocument ( BaseDocument doc,
    const Filename name,
    SAVEDOCUMENTFLAGS  saveflags,
    Int32  format 
    )

    Saves a document to a file.

    Parameters
    [in]docThe document to save to a file. The caller owns the pointed document.
    [in]nameThe file to save the document to.
    [in]saveflagsA combination of the flags for saving a document: SAVEDOCUMENTFLAGS
    [in]formatThe file format to save the document as: FORMAT_FILES
    Returns
    true if the document was saved successful, otherwise false.

    ◆ IsolateObjects()

    BaseDocument* cinema::IsolateObjects ( BaseDocument doc,
    const AtomArray t_objects 
    )

    A helper routine to copy the objects t_objects of document doc to a new document returned.
    All materials associated are also copied over and the links are corrected.

    Parameters
    [in]docThe document that contains the objects in the array t_objects. The caller owns the pointed document.
    [in]t_objectsThe objects to isolate.
    Returns
    The document containing the isolated objects. The caller owns the pointed document.

    ◆ RenderDocument()

    RENDERRESULT cinema::RenderDocument ( BaseDocument doc,
    const BaseContainer rdata,
    ProgressHook prog,
    void *  private_data,
    BaseBitmap bmp,
    RENDERFLAGS  renderflags,
    BaseThread th,
    WriteProgressHook wprog = nullptr,
    void *  data = nullptr 
    )

    Renders a document to a bitmap.

    Note
    A MultipassBitmap must be passed to render the image with an alpha channel:
    MultipassBitmap* bitmap = MultipassBitmap::Alloc(512, 512, COLORMODE::RGB);
    bitmap->AddChannel(true, true);
    ...
    RenderDocument(doc, data, nullptr, nullptr, tmp, RENDERFLAGS::EXTERNAL, nullptr);
    ...
    MultipassBitmap::Free(bitmap);
    static BaseBitmap * Alloc()
    @ RGB
    8-bit RGB channels.
    @ EXTERNAL
    External render.
    const char * doc
    Definition: pyerrors.h:226
    Parameters
    [in]docThe document to render. Can be a clone of the real document to save memory usage. The caller owns the pointed document.
    [in]rdataThe render data.
    [in]progThe progress bar hook. Can be nullptr. The caller owns the pointed progress hook.
    [in]private_dataThe private data for the progress hook prog, or nullptr. The caller owns the pointed private data.
    [in]bmpThe bitmap to render to, this must have been allocated and initialized with the right size. The caller owns the pointed bitmap.
    [in]renderflagsA combination of the render flags: RENDERFLAGS
    [in]thThe thread to test for a break or nullptr.
    [in]wprogThe write progress hook for the render operation.The caller owns the pointed write progress hook.
    [in]dataThe private data for the write progress hook wprog.
    Returns
    A render result: RENDERRESULT

    ◆ SaveProject()

    Bool cinema::SaveProject ( BaseDocument doc,
    SAVEPROJECT  flags,
    Filename  targetPath,
    maxon::BaseArray< AssetEntry > *  assets = nullptr,
    maxon::BaseArray< AssetEntry > *  missingAssets = nullptr 
    )

    Saves the document as a project (menu "Save Project with Assets").

    Parameters
    [in]docThe document to save as project. The caller owns the pointed document.
    [in]flagsA combination of the save project flags: SAVEPROJECT
    [in]targetPathThe path to save the project to.
    [out]assetsFilled by the found assets.
    [out]missingAssetsFilled by the missing assets.
    Returns
    true saving the document as a project was successful, otherwise false.

    ◆ GetAllAssets()

    GETALLASSETSRESULT cinema::GetAllAssets ( BaseDocument doc,
    Bool  allowDialogs,
    maxon::BaseArray< AssetEntry > &  assets,
    Filename lastPath,
    ASSETDATA_FLAG  flags = ASSETDATA_FLAG::NONE 
    )

    Retrieves all assets from a document. It is e.g. used by "Save Project with Assets" menu and SaveProject().

    Parameters
    [in]docThe document to get the assets from. The caller owns the pointed document.
    [in]allowDialogsIf true this function can open dialogs. For example a file select dialog will be opened if a node of the scene points to a file which does not exist anymore.
    [in]assetsAssigned the assets in document doc.
    [out]lastPathFilled with the last path used.
    If a file dialog is opened and the user selects the missing file on the hard disk, the folder of this asset is assigned to lastPath.
    The developer can store this value somewhere and pass it next time so Cinema 4D know where to look first before asking the user again.
    [in]flagsFlags to decide which assets should be collected: ASSETDATA_FLAG
    Returns
    The result if all assets were collected: GETALLASSETSRESULT

    ◆ InteractiveModeling_Rewind()

    Bool cinema::InteractiveModeling_Rewind ( BaseDocument doc)

    Private.

    ◆ InteractiveModeling_Restart()

    Bool cinema::InteractiveModeling_Restart ( BaseDocument doc)

    Used for modeling tools with GUI input. Applies the last modeling undo so that new values of the modeling tool can be applied.
    Here is an example from the edge cut code:

    Bool EdgeCutTool::MouseInput(BaseDocument* doc, BaseContainer& data, BaseDraw* draw, EditorWindow* win, const BaseContainer& msg)
    {
    if (!doc)
    return false;
    if (doc->GetMode() == Medges)
    {
    AutoAlloc<AtomArray> objects;
    if (!objects)
    return false;
    doc->GetActiveObjects(*objects, true);
    BaseContainer* toolData = GetToolData(doc, ID_MODELING_EDGECUT_TOOL);
    if (!toolData)
    return false;
    // Undo the step before
    ModelingEdgeCut(objects, MODIFY_EDGESELECTION, toolData, doc, win, &msg, true, this);
    }
    return true;
    }
    @ Medges
    Edge edit mode.
    Definition: c4d_basedocument.h:1983
    #define ID_MODELING_EDGECUT_TOOL
    Edge cut tool. See tooledgecut.h.
    Definition: modelingids.h:13
    maxon::Bool Bool
    Definition: ge_sys_math.h:46
    Bool InteractiveModeling_Restart(BaseDocument *doc)
    BaseContainer * GetToolData(BaseDocument *doc, Int32 pluginid, Bool create=true)
    void EventAdd(EVENT eventflag=EVENT::NONE)
    const char const char * msg
    Definition: object.h:438
    Parameters
    [in]docThe document for the operation. The caller owns the pointed document.
    Returns
    true if successful, otherwise false.

    ◆ RunAnimation()

    void cinema::RunAnimation ( BaseDocument doc,
    Bool  forward,
    Bool  stop 
    )

    Controls the animation in a document.

    Parameters
    [in]docThe document to animate. Usually GetActiveDocument(). The caller owns the pointed document.
    [in]forwardIf true the direction is set to forward, otherwise it is set to backward.
    [in]stopIf true the animation is stopped, otherwise it is running.

    ◆ SetDocumentTime()

    void cinema::SetDocumentTime ( BaseDocument doc,
    const BaseTime time 
    )

    Controls the time of a document.

    Note
    Unlike BaseDocument::SetTime() this function handles running animation.
    Parameters
    [in]docThe document to set the time. Usually GetActiveDocument(). The caller owns the pointed document.
    [in]timeThe time to set.

    ◆ StopExternalRenderer()

    Bool cinema::StopExternalRenderer ( )

    Stops the external renderer.

    Returns
    true if the external rendering has been canceled, otherwise false.

    ◆ DrawTools()

    void cinema::DrawTools ( const AtomArray activeobjects,
    const AtomArray activetags,
    BaseDocument doc,
    BaseDraw bd,
    BaseThread bt,
    TOOLDRAW  drawflags,
    Bool  inversez 
    )

    Private.

    ◆ GetMoDataDefaultVector()

    Vector cinema::GetMoDataDefaultVector ( Int32  id,
    const Vector default_value = Vector(0.0) 
    )

    Retrieves the default value for the specified MoData array id.

    Parameters
    [in]idThe MoData array ID: MODATA_IDS
    Returns
    The MoData default value.

    ◆ GetMoDataDefaultMatrix()

    Matrix cinema::GetMoDataDefaultMatrix ( Int32  id,
    const Matrix default_value = Matrix() 
    )

    ◆ GetMoDataDefaultFloat()

    Float cinema::GetMoDataDefaultFloat ( Int32  id,
    Float  default_value = 0.0 
    )

    ◆ GetMoDataDefaultInt32()

    Int32 cinema::GetMoDataDefaultInt32 ( Int32  id,
    Int32  default_value = 0 
    )

    ◆ GetMoDataDefaultInt64()

    Int64 cinema::GetMoDataDefaultInt64 ( Int32  id,
    Int64  default_value = 0 
    )

    ◆ GetMoDataDefault()

    GeData cinema::GetMoDataDefault ( Int32  id)

    ◆ GetMoDataDefaultType()

    MD_TYPE cinema::GetMoDataDefaultType ( Int32  id)

    Retrieves the default type for the specified MoData array id.

    Parameters
    [in]idThe MoData array ID: MODATA_IDS
    Returns
    The default type: MD_TYPE

    ◆ MAXON_ENUM_FLAGS() [3/11]

    enum cinema::STRENGTHMASK cinema::MAXON_ENUM_FLAGS ( STRENGTHMASK  )

    ◆ RegisterEffectorPlugin()

    Bool cinema::RegisterEffectorPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel 
    )

    Registers an effector plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: OBJECT PLUGINFLAG
    [in]gThe allocator for the effector plugin. This is a pointer to a function that creates a new instance of EffectorData with NewObj().
    [in]descriptionThe name of the description resource file to use for the effector plugin without .res extension, for example "oespline".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the command. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings you can increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the effector plugin was registered, otherwise false.

    ◆ MAXON_ENUM_LIST() [1/7]

    enum cinema::SCRIPT_CONTEXT cinema::MAXON_ENUM_LIST ( SCRIPT_CONTEXT  )

    ◆ MAXON_ENUM_LIST() [2/7]

    enum cinema::SCRIPT_LANGUAGE cinema::MAXON_ENUM_LIST ( SCRIPT_LANGUAGE  )

    ◆ GetScriptDefaultCode()

    String cinema::GetScriptDefaultCode ( const SCRIPT_CONTEXT context)

    Returns the default code for the requested scripting object context.

    Parameters
    [in]contextThe script context for which to receive the default code.
    Returns
    The default code for context.

    ◆ GeneratePrimitive()

    BaseObject* cinema::GeneratePrimitive ( const BaseDocument doc,
    Int32  type,
    const BaseContainer bc,
    Float  lod,
    Bool  isoparm,
    BaseThread bt = nullptr 
    )

    Creates a built-in Cinema 4D primitive objects.

    Parameters
    [in]docThe document for the primitive object. The caller owns the pointed document.
    [in]typeThe primitive type: Primitive Types
    [in]bcThe settings for the primitive.
    [in]lodThe level of detail to use for the primitive.
    [in]isoparmPass true to create a isoparm of the object.
    [in]btThe thread to test for a break or nullptr. The caller owns the pointed thread.
    Returns
    The primitive object or nullptr if failed. The caller owns the pointed object.

    ◆ GenerateSplinePrimitive()

    BaseObject* cinema::GenerateSplinePrimitive ( const BaseDocument doc,
    Int32  type,
    const BaseContainer bc,
    Float  lod,
    BaseThread bt = nullptr 
    )

    Creates a built-in Cinema 4D primitive spline objects.

    Parameters
    [in]docThe document for the spline primitive object. The caller owns the pointed document.
    [in]typeThe spline primitive type: Spline Primitive Types
    [in]bcThe settings for the spline primitive.
    [in]lodThe level of detail to use for the primitive.
    [in]btThe thread to test for a break or nullptr. The caller owns the pointed thread.
    Returns
    The primitive spline object or nullptr if failed. The caller owns the pointed object.

    ◆ ToPoint() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE const PointObject* cinema::ToPoint ( const T *  op)

    Casts a BaseObject* to a PointObject*.

    ◆ ToPoint() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE PointObject* cinema::ToPoint ( T *  op)

    ◆ ToPoly() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE const PolygonObject* cinema::ToPoly ( const T *  op)

    Casts a BaseObject* to a PolygonObject*.

    ◆ ToPoly() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE PolygonObject* cinema::ToPoly ( T *  op)

    ◆ ToSpline() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE const SplineObject* cinema::ToSpline ( const T *  op)

    Casts a BaseObject* to a SplineObject*.

    ◆ ToSpline() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE SplineObject* cinema::ToSpline ( T *  op)

    ◆ ToLine() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE const LineObject* cinema::ToLine ( const T *  op)

    Casts a BaseObject* to a LineObject*.

    ◆ ToLine() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE LineObject* cinema::ToLine ( T *  op)

    ◆ CalcFaceNormal()

    Vector cinema::CalcFaceNormal ( const Vector padr,
    const CPolygon v 
    )

    Calculates the normal of a polygon.

    Parameters
    [in]padrThe points array.
    [in]vThe polygon.
    Returns
    The face's normal.

    ◆ CalcLOD()

    Int32 cinema::CalcLOD ( Int32  val,
    Float  lod,
    Int32  min,
    Int32  max 
    )

    Helper function to modify a user chosen subdivision value.
    Example:

    Int32 sub = CalcLOD(data.GetInt32(TUBEOBJECT_SUB, 1), hh->GetLOD(), 1, 1000);
    Int32 CalcLOD(Int32 val, Float lod, Int32 min, Int32 max)
    maxon::Int32 Int32
    Definition: ge_sys_math.h:51
    Parameters
    [in]valThe user chosen LOD value.
    [in]lodThe LOD value, from BaseDocument::GetLOD().
    [in]minThe minimum LOD.
    [in]maxThe maximum LOD.
    Returns
    The level of detail.

    ◆ DisjointMesh()

    Bool cinema::DisjointMesh ( PointObject op)

    Separates the mesh of the object to make each polygon/line segment independent.
    Each polygon/line will be given its own points thereby separating them so they can be moved independently, such as the Explosion object.

    Parameters
    [in]opThe Point object to disjoint. The caller owns the pointed Point object.
    Returns
    true if the mesh was disjointed successfully, otherwise false.

    ◆ FitCurve()

    SplineObject* cinema::FitCurve ( Vector padr,
    Int32  pcnt,
    Float  error,
    BaseThread bt 
    )

    Creates a Spline object that has the best fit through the given points.

    Parameters
    [in]padrThe points to fit a curve to. The caller owns the pointed array.
    [in]pcntThe number of points in the point array padr.
    [in]errorSets how closely the curve must match the passed points. The range for this is 0 to MAXRANGE. The lower the value then the closer the curve will match.
    [in]btThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    Returns
    A Spline object that fits the given points, or nullptr if failed. The caller owns the pointed Spline object.

    ◆ Triangulate()

    Bool cinema::Triangulate ( const Vector padr,
    Int32  pcnt,
    CPolygon **  vadr,
    Int32 vcnt 
    )

    Turns the polygon mesh into triangles.

    Parameters
    [in]padrThe points of the object to triangulate. The caller owns the pointed array.
    [in]pcntThe number of points in the points array padr.
    [out]vadrThe polygons for the object. Assigned the triangulated polygons. The caller owns the pointed array.
    Can be assigned nullptr, always check.
    [out]vcntAssigned the triangulated count i.e. the number of polygons in the returned polygons array vadr.
    Returns
    true if turning the polygons into triangles was successful, otherwise false.

    ◆ TriangulateStandard()

    Bool cinema::TriangulateStandard ( const Vector padr,
    Int32  pcnt,
    Int32 list,
    Int32  lcnt,
    CPolygon *&  vadr,
    Int32 vcnt,
    BaseThread thread 
    )

    Triangulates the spline described by (padr,pcnt) and (list,lcnt) returning the result in (vadr,vcnt).

    Warning
    The returned data vadr must be freed with DeleteMem()
    Parameters
    [in]padrThe input points. The caller owns the pointed array.
    [in]pcntThe number of input points in padr.
    [in]listThe input segments. A list with a Int32 for each segment, telling its length within the point array padr. The caller owns the pointed array.
    [in]lcntThe number of input segments in list.
    [out]vadrAssigned the output polygon array. The caller owns the pointed array.
    [out]vcntThe number of polygons in vadr.
    [in]threadThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    Returns
    true if the spline was triangulated successfully, otherwise false.

    ◆ TriangulateRegular()

    Bool cinema::TriangulateRegular ( const Vector pinp,
    Int32  pinp_cnt,
    Int32 list,
    Int32  lcnt,
    Vector *&  padr,
    Int32 pcnt,
    CPolygon *&  vadr,
    Int32 vcnt,
    Float  regular_width,
    BaseThread thread 
    )

    Triangulates the spline described by (pinp,pinp_cnt) and (list,lcnt) returning the result in (padr,pcnt) and (vadr,vcnt). Generates new points in a regular mesh specified by regular_width.

    Warning
    The returned data (padr,vadr) must be freed with DeleteMem().
    Parameters
    [in]pinpThe input points. The caller owns the pointed array.
    [in]pinp_cntThe number of input points in pinp.
    [in]listThe input segments. A list with a Int32 for each segment, telling its length within the point array padr. The caller owns the pointed array.
    [in]lcntThe number of input segments in list.
    [out]padrAssigned the output point array. The caller owns the pointed array.
    [out]pcntThe number of output points in padr.
    [out]vadrAssigned the output polygon array. The caller owns the pointed array.
    [out]vcntThe number of output polygons in vadr.
    [in]regular_widthThe width of the regular mesh.
    [in]threadThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    Returns
    true if the spline was triangulated successfully, otherwise false.

    ◆ GenerateText()

    BaseObject* cinema::GenerateText ( const BaseDocument doc,
    const BaseContainer cp,
    BaseThread bt,
    Bool  separate 
    )

    Creates a text object.

    Parameters
    [in]cpThe container with settings for the text object.
    [in]btThe current thread, or nullptr for the main Cinema 4D thread. The caller owns the pointed thread.
    [in]separatetrue if the letters should be separate, otherwise false.
    Returns
    The created text object or nullptr if failed. The caller owns the pointed object.

    ◆ CheckDisplayFilter()

    Bool cinema::CheckDisplayFilter ( BaseObject op,
    DISPLAYFILTER  filter 
    )

    Checks if an object is covered by a display filter.
    Example:

    BaseDraw* bd = doc->GetActiveBaseDraw();
    // Get the BaseDraw's display filter
    DISPLAYFILTER filter = bd->GetDisplayFilter();
    if (CheckDisplayFilter(op, filter))
    {
    // Use object
    }
    DISPLAYFILTER
    Definition: ge_prepass.h:4573
    Bool CheckDisplayFilter(BaseObject *op, DISPLAYFILTER filter)
    PyObject * op
    Definition: object.h:520
    Parameters
    [in]opThe object to check. The caller owns the pointed object.
    [in]filterThe filter bitmask: DISPLAYFILTER
    Returns
    true if the object is included in a display filter, otherwise false.

    ◆ CheckEditorVisibility()

    Bool cinema::CheckEditorVisibility ( BaseObject op)

    Checks if an object is visible in the viewport including evaluation of parent hierarchies and layers. Combine with CheckDisplayFilter() to get the visibility in a certain BaseDraw.

    Since
    R16.050
    Parameters
    [in]opThe object to check.
    Returns
    true if the object state is visible, otherwise false.

    ◆ IntersectionTest()

    Int32 cinema::IntersectionTest ( PolygonObject op,
    BaseDraw bd,
    Float  x,
    Float  y,
    const Matrix mg,
    Float z,
    MODELINGCOMMANDMODE  mode,
    UChar pPointSelect,
    Int32  lSelectCount 
    )

    Checks for a polygon intersection at position (x/y) in the view bd with object op and global matrix mg.
    The resulting Z depth is assigned to z.

    Parameters
    [in]opThe polygon object to check. The caller owns the pointed polygon object.
    [in]bdThe base draw to check the intersection in. The caller owns the pointed base draw.
    [in]xThe X coordinate to check.
    [in]yThe Y coordinate to check.
    [in]mgThe global matrix of the object.
    [out]zAssigned the Z coordinate of the intersection if found.
    [in]modeThe intersection mode: MODELINGCOMMANDMODE
    [in]pPointSelectAn optional point selection. The caller owns the pointed array.
    [in]lSelectCountThe number of points in pPointselect.
    Returns
    The intersection result.

    ◆ ComputeLightColor()

    Vector cinema::ComputeLightColor ( BaseObject op,
    Bool  editor,
    Float  reference 
    )

    Computes the color of a light source. Private.

    ◆ ComputeColorTemperatureRGB()

    Vector cinema::ComputeColorTemperatureRGB ( Float  temperature,
    Float  reference,
    Bool  normalize 
    )

    Computes the color of a light source. Private.

    ◆ GetVirtualLineObject()

    BaseObject* cinema::GetVirtualLineObject ( BaseObject op,
    const HierarchyHelp hh,
    const Matrix mloc,
    Bool  keep_spline,
    Bool  recurse,
    Matrix mres,
    Bool dirty 
    )

    Gets a LineObject or SplineObject from a spline generator.

    Parameters
    [in]opThe spline object. The caller owns the pointed base object.
    [in]hhThe HierarchyHelp usually passed from ObjectData::GetVirtualObjects(). The caller owns the pointed hierarchy help.
    [in]mlocThe local matrix of the spline object.
    [in]keep_splinetrue to generate a SplineObject or false for a LineObject.
    [in]recurseIf true and the object op itself did not generate a line object then Cinema 4D will search through all children and caches of op if any of those objects generates the line form.
    Note
    The caches are always searched.
    If a spline is placed in An array object and the array under the generator then GetVirtualLineObject() will return the first "arrayed" spline.
    For example, a Spline is put into a Null object placed under the generator.
    With recurse==false then GetVirtualLineObject() return nullptr, if recurse==true then it would find the first child Spline of the Null object.
    Parameters
    [out]mresAssigned the local matrix of the object that created the line form.
    [out]dirtyAssigned true if the object that generated the spline was modified. In this case the generator knows that it must rebuild its cache.
    Returns
    The LineObject or SplineObject from a spline generator. The caller owns the pointed base object.

    ◆ GenerateUVW()

    UVWTag* cinema::GenerateUVW ( const BaseObject op,
    const Matrix opmg,
    const TextureTag tp,
    const Matrix texopmg,
    BaseView view 
    )

    Generates a UVW tag for an object.

    Parameters
    [in]opThe object to generate the UVW coordinates for. The caller owns the pointed base object.
    [in]opmgThe object's global matrix.
    [in]tpThe texture tag to generate the UVW coordinates from. The caller owns the pointed texture tag.
    [in]texopmgThe global matrix of the object that carries the texture tag.
    [in]viewThe current view or nullptr. The caller owns the pointed base view.
    Returns
    The created UVW tag or nullptr if the texture type is already UV or if failed. If nullptr then the UVW tag must retrieved from the object itself. The caller owns the pointed UVW tag.

    ◆ CutReal()

    void cinema::CutReal ( BaseContainer data,
    Int32  id,
    Float  min,
    Float  max 
    )

    Limits the float value with the specified id in the container data between min and max.

    Parameters
    [in]dataThe container with the value.
    [in]idThe ID of the float value.
    [in]minThe minimum value.
    [in]maxThe maximum value.

    ◆ CutVector()

    void cinema::CutVector ( BaseContainer data,
    Int32  id,
    Float  min,
    Float  max 
    )

    Limits the vector value with the specified id in the container data between min and max.

    Parameters
    [in]dataThe container with the value.
    [in]idThe ID of the vector value.
    [in]minThe minimum value.
    [in]maxThe maximum value.

    ◆ CalculateVisiblePoints()

    Bool cinema::CalculateVisiblePoints ( BaseDraw bd,
    PolygonObject op,
    Vector padr,
    UChar pset,
    Bool  select_visibonly 
    )

    Checks which points in the points array padr of op are visible in the view bd.

    Parameters
    [in]bdThe base draw to check. The caller owns the pointed base draw.
    [in]opThe polygon object to check. The caller owns the pointed polygon object.
    [in]padrThe points array. The caller owns the pointed points array.
    [in]psetAssigned an array of size PointObject::GetPointCount() with the visibility status for each point:
    1 if the point is visible otherwise 0 .
    [in]select_visibonlyIf true only points that are truly visible are included, otherwise e.g. points from the back of an object are included.
    Returns
    true if successful, otherwise false.

    ◆ FindPlugin()

    BasePlugin* cinema::FindPlugin ( Int32  id,
    PLUGINTYPE  type 
    )

    Finds a plugin from its id and type.

    Note
    For CUSTOMDATATYPEPLUGIN and RESOURCEDATATYPEPLUGIN, please use FindCustomDataTypePlugin() and FindResourceDataTypePlugin()
    Parameters
    [in]idThe plugin ID.
    [in]typeThe plugin type: PLUGINTYPE
    Returns
    The found plugin or nullptr. Cinema 4D owns the pointed plugin.

    ◆ GetFirstPlugin()

    BasePlugin* cinema::GetFirstPlugin ( )

    Gets the first registered plugin in the plugin list.

    Returns
    The first plugin or nullptr. Cinema 4D owns the pointed plugin.

    ◆ FilterPluginList()

    Bool cinema::FilterPluginList ( AtomArray arr,
    PLUGINTYPE  type,
    Bool  sortbyname 
    )

    Browses recursively through the plugin list looking for plugin of the specified type.
    For example, to find all bitmap saver plugins use:

    AtomArray plugins;
    ...
    @ BITMAPSAVER
    Bitmap saver. (BitmapSaverData)
    Bool FilterPluginList(AtomArray &arr, PLUGINTYPE type, Bool sortbyname)
    Parameters
    [out]arrFilled with the found plugins.
    [in]typeThe plugin type to filter: PLUGINTYPE
    [in]sortbynameIf true then the found plugins are sorted alphabetically by name.
    Returns
    true if successful, otherwise false.

    ◆ RemovePlugin()

    void cinema::RemovePlugin ( BasePlugin plug)

    Private.

    ◆ BuildGlobalTagPluginContainer()

    void cinema::BuildGlobalTagPluginContainer ( BaseContainer plugincontainer,
    Int32 id,
    UInt newFeatureVersion 
    )

    Private.

    ◆ ResolveGlobalTagPluginContainer()

    Int32 cinema::ResolveGlobalTagPluginContainer ( Int32 id)

    Private.

    ◆ GetLocalFilename()

    Filename* cinema::GetLocalFilename ( )

    Private.

    ◆ CreatePluginEntry()

    BasePlugin* cinema::CreatePluginEntry ( const maxon::String foldername,
    BasePlugin bp 
    )

    Private.

    ◆ SetLocalHierarchy()

    void cinema::SetLocalHierarchy ( BasePlugin parent,
    BasePlugin pred 
    )

    Private.

    ◆ BacktrackToOriginal()

    const BaseTag* cinema::BacktrackToOriginal ( const BaseTag *const  startTag)

    Backtracks the origin of a tag to where it most likely came from. This includes cloning, cache copies and alembic proxies.

    Parameters
    [in]startTagThe tag to start the search from.
    Returns
    An origin tag if one was found different to the startTag.

    ◆ operator*()

    const BaseTime cinema::operator* ( const BaseTime t1,
    const BaseTime t2 
    )

    Multiplies t1 and t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the multiplication.

    ◆ operator/()

    const BaseTime cinema::operator/ ( const BaseTime t1,
    const BaseTime t2 
    )

    Divides t1 and t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the division.

    ◆ operator+()

    const BaseTime cinema::operator+ ( const BaseTime t1,
    const BaseTime t2 
    )

    Adds t1 and t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the addition.

    ◆ operator-()

    const BaseTime cinema::operator- ( const BaseTime t1,
    const BaseTime t2 
    )

    Subtracts t1 and t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the subtraction.

    ◆ operator==() [1/5]

    Bool cinema::operator== ( const BaseTime t1,
    const BaseTime t2 
    )

    Equality operator. Checks if t1 and t2 are equal.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ operator<() [1/2]

    Bool cinema::operator< ( const BaseTime t1,
    const BaseTime t2 
    )

    Less than operator. Checks if t1 is less than t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ operator!=() [1/5]

    Bool cinema::operator!= ( const BaseTime t1,
    const BaseTime t2 
    )

    Inequality operator. Checks if t1 and t2 are not equal.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ operator<=()

    Bool cinema::operator<= ( const BaseTime t1,
    const BaseTime t2 
    )

    Less than or equal operator. Checks if t1 is less than or equal to t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ operator>=()

    Bool cinema::operator>= ( const BaseTime t1,
    const BaseTime t2 
    )

    Greater than or equal operator. Checks if t1 is greater than or equal to t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ operator>()

    Bool cinema::operator> ( const BaseTime t1,
    const BaseTime t2 
    )

    Greater than operator. Checks if t1 is greater than t2.

    Parameters
    [in]t1Left-operand time.
    [in]t2Right-operand time.
    Returns
    Result of the comparison.

    ◆ BfBitmapTileGet()

    BM_TILE* cinema::BfBitmapTileGet ( BM_REF  bm,
    const RECT32 *  src_rect,
    Int32  width,
    Int32  height,
    Int32  tile_mode,
    Int32  flags 
    )

    Private.

    ◆ BfBitmapTileDetach()

    Int32 cinema::BfBitmapTileDetach ( BM_REF  bm,
    BM_TILE *  tile_buf,
    Int32  flags 
    )

    Private.

    ◆ BfDiscardChanges()

    Int32 cinema::BfDiscardChanges ( BM_REF  bm)

    Private.

    ◆ BfUpdateView()

    Int32 cinema::BfUpdateView ( BM_REF  bm)

    Private.

    ◆ BfConvertTileToBasebmp()

    Bool cinema::BfConvertTileToBasebmp ( const BM_TILE *  tile,
    const RECT32 *  tile_rect,
    BaseBitmap bmp,
    Int32  zero 
    )

    Private.

    ◆ BfBitmapTileScale()

    Bool cinema::BfBitmapTileScale ( BM_REF  bm,
    BM_TILE *  src_bm,
    BM_TILE *  dst_bm,
    RECT32 *  src_rect,
    RECT32 *  dst_rect 
    )

    Private.

    ◆ BfProgressNew()

    PROGRESS_ID cinema::BfProgressNew ( BM_REF  bm)

    Private.

    ◆ BfProgressDelete()

    Int32 cinema::BfProgressDelete ( BM_REF  bm,
    PROGRESS_ID  pid 
    )

    Private.

    ◆ BfProgressUpdate()

    Int32 cinema::BfProgressUpdate ( BM_REF  bm,
    PROGRESS_ID  pid,
    Int32  current_value,
    Int32  max_value,
    const maxon::String text 
    )

    Private.

    ◆ GetGlobalFilterPrefs()

    BaseContainer cinema::GetGlobalFilterPrefs ( Int32  pluginid)

    Private.

    ◆ SetGlobalFilterPrefs()

    Bool cinema::SetGlobalFilterPrefs ( Int32  pluginid,
    const BaseContainer prefs 
    )

    Private.

    ◆ GetEditorWindow()

    void* cinema::GetEditorWindow ( )

    Retrieves Cinema 4D's window handle (HWND). Private.

    Returns
    Cinema 4D's window handle.

    ◆ RegisterCommandPlugin()

    Bool cinema::RegisterCommandPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    BaseBitmap icon,
    const maxon::String help,
    CommandData dat 
    )

    Registers a command plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe command plugin info flags: PLUGINFLAG_COMMAND PLUGINFLAG
    [in]iconThe icon for the command. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]helpThe tool tips and status bar help text for the command.
    When using strings it is advised to use the resources string (.str) files and the GeLoadString() function.
    This keeps the plugin easy to localize for any language to support and makes full use of the language features of Cinema 4D.
    [in]datThe command data instance for the plugin. Cinema 4D takes over the ownership of the pointed command data.
    Returns
    true if the command plugin was registered, otherwise false.

    ◆ RegisterManagerInformation()

    Bool cinema::RegisterManagerInformation ( Int32  id,
    const maxon::String str,
    Int32  info 
    )

    Registers manager information for use when registering shortcuts with AddShortcut().

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe manager name.
    [in]infoThe manager info flags: PLUGINFLAG
    Returns
    true if the manager was registered, otherwise false.

    ◆ RegisterCTrackPlugin()

    Bool cinema::RegisterCTrackPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator npalloc,
    const maxon::String description,
    Int32  disklevel 
    )

    Registers a custom timeline track plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: PLUGINFLAG
    [in]npallocThe allocator for the track plugin. This is a pointer to a function that creates a new instance of CTrackData with NewObj().
    [in]descriptionThe name of the description resource file to use for the track plugin without .res extension, for example "CTpla".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the track plugin was registered, otherwise false.

    ◆ RegisterCustomDataTypePlugin()

    Bool cinema::RegisterCustomDataTypePlugin ( const maxon::String str,
    Int32  info,
    CustomDataTypeClass dat,
    Int32  disclevel 
    )

    Registers a custom data type plugin.

    Parameters
    [in]strThe name of the plugin.
    [in]infoThe custom data type plugin info flags: CUSTOMDATATYPE_INFO PLUGINFLAG
    [in]datAn instance for the custom data type plugin. Cinema 4D takes over the ownership of the pointed data instance.
    [in]disclevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in CustomDataTypeClass::WriteData/ CustomDataTypeClass::ReadData.
    Returns
    true if the custom data type plugin was registered, otherwise false.

    ◆ RegisterResourceDataTypePlugin()

    Bool cinema::RegisterResourceDataTypePlugin ( const maxon::String str,
    Int32  info,
    ResourceDataTypeClass dat,
    Int32  disclevel 
    )

    Registers a resource data type plugin.

    Parameters
    [in]strThe name of the plugin.
    [in]infoThe resource data type plugin info flags: PLUGINFLAG
    [in]datAn instance for the resource data type plugin. Cinema 4D takes over the ownership of the pointed data instance.
    [in]disclevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in CustomDataTypeClass::WriteData/ CustomDataTypeClass::ReadData.
    Returns
    true if the resource data type plugin was registered, otherwise false.

    ◆ FindCustomDataTypePlugin()

    CUSTOMDATATYPEPLUGIN* cinema::FindCustomDataTypePlugin ( Int32  type)

    Finds registered data type plugin structures from data type ID.

    Parameters
    [in]typeThe data type ID.
    Returns
    The found plugin structure, or nullptr. Cinema 4D owns the pointed plugin structure.

    ◆ FindResourceDataTypePlugin()

    RESOURCEDATATYPEPLUGIN* cinema::FindResourceDataTypePlugin ( Int32  type)

    Finds registered resource data type plugin structures from data type ID.

    Parameters
    [in]typeThe resource data type ID.
    Returns
    The found plugin structure, or nullptr. Cinema 4D owns the pointed plugin structure.

    ◆ GetDataType()

    Int32 cinema::GetDataType ( Int32  resourcetype)

    Retrieves the data type ID from a resource data type ID.

    Parameters
    [in]resourcetypeThe resource data type ID.
    Returns
    The data type ID.

    ◆ GetCustomDataTypeDefault()

    BaseContainer cinema::GetCustomDataTypeDefault ( Int32  type)

    Retrieves the default settings for a data type.

    Parameters
    [in]typeThe data type ID.
    Returns
    The default settings container.

    ◆ FillBaseCustomGui()

    void cinema::FillBaseCustomGui ( BaseCustomGuiLib &  lib)

    Fills the custom GUI library structure lib with the default implementations.

    See also
    CustomGuiData.
    Parameters
    [in]libThe custom GUI library structure to fill.

    ◆ MAXON_ENUM_FLAGS() [4/11]

    enum cinema::AMFILTERFLAGS cinema::MAXON_ENUM_FLAGS ( AMFILTERFLAGS  )

    ◆ MAXON_ENUM_FLAGS() [5/11]

    enum cinema::FIELDLIST_FLAGS cinema::MAXON_ENUM_FLAGS ( FIELDLIST_FLAGS  )

    ◆ MAXON_ENUM_LIST() [3/7]

    enum cinema::FONTCHOOSER_POPUP_RESULT cinema::MAXON_ENUM_LIST ( FONTCHOOSER_POPUP_RESULT  )

    ◆ OpenFontChooserPopup()

    Bool cinema::OpenFontChooserPopup ( const BaseContainer font,
    maxon::Delegate< void(FONTCHOOSER_POPUP_RESULT, const BaseContainer &)>  callback,
    Bool  useReducedFontList = false,
    Int32  screenPositionX = -1,
    Int32  screenPositionY = -1 
    )

    Opens a font chooser popup at the specified position that can be closed by clicking outside or with ESC.

    Note
    If screenPositionX=-1 and screenPositionY=-1 the popup will be opened at the current mouse position.
    If screenPositionX=-2 and screenPositionY=-2 the popup will be opened at the center of the screen.
    Parameters
    [in]fontThe initial font container.
    [out]callbackFunction called on user action with the result and the choosen font data. If FONTCHOOSER_POPUP_RESULT is OK, then choosen font is stored in the BaseContainer. If FONTCHOOSER_POPUP_RESULT is CANCEL, BaseContainer received is empty.
    [in]useReducedFontListIf true, restrict the available fonts to 'core' families only
    [in]screenPositionXThe Y position of the popup. See note above.
    [in]screenPositionYThe Y position of the popup. See note above.
    Returns
    true if the popup opened successfully, otherwise false.

    ◆ FillCustomIconSettingsFromBaseList2D()

    void cinema::FillCustomIconSettingsFromBaseList2D ( CustomIconSettings settings,
    const BaseContainer data,
    Int32  defaultIconId,
    Bool  fillDefault 
    )

    Private.

    ◆ GetCustomIcon()

    Bool cinema::GetCustomIcon ( GetCustomIconData cid,
    const CustomIconSettings settings,
    Bool  drawBeforeColoring = false,
    CustomIconGetIdDelegate getIdCallback = nullptr,
    CustomIconDrawDelegate drawCallback = nullptr 
    )

    ◆ FreeInclusionTable() [1/2]

    void cinema::FreeInclusionTable ( InclusionTable *&  pTable)

    Frees inclusion tables created by InExcludeData::BuildInclusionTable.

    Parameters
    [out]pTableThe inclusion table to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

    ◆ BlendKerning()

    Kerning cinema::BlendKerning ( const Kerning k1,
    const Kerning k2,
    Float  mix 
    )

    Blends the values of two Kerning objects, using simple linear interpolation.

    Parameters
    [in]k1The first Kerning object.
    [in]k2The second Kerning object.
    [in]mixThe blend weight: 0.0 <= mix <= 1.0.
    Returns
    A Kerning object with the blended values.

    ◆ HandleKerningMessages()

    Bool cinema::HandleKerningMessages ( GeListNode node,
    Int32  msgId,
    Int32  kerningDescID,
    Int32  textDescID,
    void *  msgData,
    KerningVpGuiHelper guihelper 
    )

    Takes care of all the messages that are important for the kerning viewport GUI to work.

    Note
    Simply call this from within a NodeData's Message function.
    Parameters
    [in]nodePass node from a NodeData::Message.
    [in]msgIdPass msgId from a NodeData::Message.
    [in]kerningDescIDPass descID from a NodeData::Message.
    [in]textDescIDThe description ID of the text's string.
    [in]msgDataPass msgData from a NodeData::Message.
    [in]guihelperPass the pointer to an allocated instance of a NodeData's KerningVpGuiHelper.
    Returns
    true if successful, otherwise false.

    ◆ CalculateLockListResolution()

    Bool cinema::CalculateLockListResolution ( BaseDocument doc,
    const Filename filename,
    Int32 xres,
    Int32 yres 
    )

    Internal.

    ◆ CalculateLockListFilename()

    Bool cinema::CalculateLockListFilename ( BaseDocument doc,
    Filename fn,
    const LayerSet lsl 
    )

    Internal.

    ◆ FreeInclusionTable() [2/2]

    void cinema::FreeInclusionTable ( MatAssignTable *&  pTable)

    Frees inclusion tables created by MatAssignData::BuildInclusionTable.

    Parameters
    [out]pTableThe inclusion table to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

    ◆ SetDParameterPreview()

    Bool cinema::SetDParameterPreview ( BaseContainer pContainer,
    const GeData pData,
    DESCFLAGS_SET lFlags,
    Int32  lID 
    )

    Convenience function to use in NodeData::SetDParameter() of nodes with a material preview in the description:

    Bool SimpleMaterial::SetDParameter(GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags)
    {
    BaseMaterial* mat = static_cast<BaseMaterial*>(node);
    BaseContainer* data = mat->GetDataInstance();
    updatecount++;
    switch (id[0].id)
    {
    case SIMPLEMATERIAL_MAT_PREVIEW:
    return SetDParameterPreview(data, &t_data, flags, SIMPLEMATERIAL_MAT_PREVIEW);
    }
    return MaterialData::SetDParameter(node, id, t_data, flags);
    }
    PyCompilerFlags * flags
    Definition: ast.h:14
    virtual Bool SetDParameter(GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags)
    Called to override the writing of parameters.
    DESCFLAGS_SET
    Definition: ge_prepass.h:3396
    Bool SetDParameterPreview(BaseContainer *pContainer, const GeData *pData, DESCFLAGS_SET &lFlags, Int32 lID)
    struct _node node
    Definition: node.h:10
    Parameters
    [in]pContainerThe container of the node sent to NodeData::SetDParameter(). The caller owns the pointed container.
    [in]pDataThe t_data sent to NodeData::SetDParameter(). The caller owns the pointed data.
    [in]lFlagsThe flags sent to NodeData::SetDParameter().
    [in]lIDThe ID of the material preview.
    Returns
    true if successful, otherwise false.

    ◆ GetDParameterPreview() [1/2]

    Bool cinema::GetDParameterPreview ( BaseContainer pContainer,
    GeData pData,
    DESCFLAGS_GET lFlags,
    Int32  lID,
    Int32  lCount,
    BaseMaterial pMaterial 
    )

    Convenience function to use in NodeData::GetDParameter() of material nodes with a material preview in the description:

    Bool SimpleMaterial::GetDParameter(const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const
    {
    BaseMaterial* mat = static_cast<BaseMaterial*>(node);
    BaseContainer* data = mat->GetDataInstance();
    switch (id[0].id)
    {
    case SIMPLEMATERIAL_MAT_PREVIEW:
    return GetDParameterPreview(data, &t_data, flags, SIMPLEMATERIAL_MAT_PREVIEW, updatecount, mat);
    }
    return MaterialData::GetDParameter(node, id, t_data, flags);
    }
    virtual Bool GetDParameter(const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const
    DESCFLAGS_GET
    Definition: ge_prepass.h:3380
    Bool GetDParameterPreview(BaseContainer *pContainer, GeData *pData, DESCFLAGS_GET &lFlags, Int32 lID, Int32 lCount, BaseMaterial *pMaterial)
    Parameters
    [in]pContainerThe container of the node sent to NodeData::GetDParameter(). The caller owns the pointed container.
    [in]pDataThe t_data sent to NodeData::GetDParameter(). The caller owns the pointed data..
    [in]lFlagsThe flags sent to NodeData::GetDParameter().
    [in]lIDThe ID of the material preview.
    [in]lCountThe dirty count.
    [in]pMaterialThe material. The caller owns the pointed material.
    Returns
    true if successful, otherwise false.

    ◆ GetDParameterPreview() [2/2]

    Bool cinema::GetDParameterPreview ( BaseContainer pContainer,
    GeData pData,
    DESCFLAGS_GET lFlags,
    Int32  lID,
    Int32  lCount,
    BaseShader pShader 
    )

    Convenience function to use in NodeData::GetDParameter() of shader nodes with a material preview in the description:

    Bool SimpleShader::GetDParameter(const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const
    {
    BaseShader* shd = static_cast<BaseMaterial*>(node);
    BaseContainer* data = shd->GetDataInstance();
    switch (id[0].id)
    {
    case SIMPLEMATERIAL_MAT_PREVIEW:
    return GetDParameterPreview(data, &t_data, flags, SIMPLEMATERIAL_MAT_PREVIEW, updatecount, shd);
    }
    return ShaderData::GetDParameter(node, id, t_data, flags);
    }
    Parameters
    [in]pContainerThe container of the node sent to NodeData::GetDParameter(). The caller owns the pointed container.
    [in]pDataThe t_data sent to NodeData::GetDParameter(). The caller owns the pointed data..
    [in]lFlagsThe flags sent to NodeData::GetDParameter().
    [in]lIDThe ID of the material preview.
    [in]lCountThe dirty count.
    [in]pShaderThe shader. The caller owns the pointed shader.
    Returns
    true if successful, otherwise false.

    ◆ GetPreviewScenes()

    BaseContainer cinema::GetPreviewScenes ( Bool  bIncludeFlat2D,
    Bool  bIncludeDefault = false,
    Int32  lObjectID = -1 
    )

    Retrieves a list of preview scenes. Use the returned container's elements in menus.

    Parameters
    [in]bIncludeFlat2DInclude Flat 2D.
    [in]bIncludeDefaultInclude Default.
    [in]lObjectIDAn object ID.
    Returns
    The generated menu container.

    ◆ HandlePreviewSceneMessage()

    Bool cinema::HandlePreviewSceneMessage ( Int32  lID,
    MatPreviewType t,
    maxon::String strScene 
    )

    Generates the type and the scene name from the menu item generated by GetPreviewScenes().

    Parameters
    [in]lIDThe selected menu ID.
    [out]tAssigned the preview type.
    [out]strSceneAssigned the scene name.
    Returns
    true if successful, otherwise false.

    ◆ AddUserPreviewScene()

    Bool cinema::AddUserPreviewScene ( const Filename fn,
    Int32  lID,
    maxon::String pstrName 
    )

    Adds a user scene that optionally only shows up in materials with type lID. The pstrName may be nullptr, in which case the file name is used.

    Note
    The scene has to contain an object named "Object" (which may well be a Null containing a group of objects) in order to be used by this function.
    Parameters
    [in]fnThe user scene name.
    [in]lIDThe material ID, or -1 to make the preview scene available for all materials.
    [in]pstrNameAn optional user scene name. The string is copied. The caller owns the pointed string.
    Returns
    true if successful, otherwise false.

    ◆ RenderMaterialPreview()

    RENDERRESULT cinema::RenderMaterialPreview ( const Filename docpath,
    BaseMaterial pMatClone,
    BaseMaterial pOrigMat,
    BaseThread pThread,
    BaseBitmap pDest,
    BaseDocument pOriginalDoc,
    Float  rCurrentTime,
    Int32  lFlags = 0 
    )

    Called by Cinema 4D to calculate the material preview for the Material Manager. Private.

    ◆ RenderShaderPreview()

    RENDERRESULT cinema::RenderShaderPreview ( const Filename docpath,
    BaseShader pShaderClone,
    BaseShader pOrigShader,
    BaseThread pThread,
    BaseBitmap pDest,
    BaseDocument pOriginalDoc,
    Float  rCurrentTime,
    Int32  lFlags = 0 
    )

    Called by Cinema 4D to calculate the shader preview for the Material Manager. Private.

    ◆ RenderCustomPreview()

    RENDERRESULT cinema::RenderCustomPreview ( RenderPreviewImageCallback  fn,
    void *  pUserData,
    Int32  lUserID,
    BaseThread pThread,
    BaseBitmap pDest,
    Int32  lFlags = 0 
    )

    Called by Cinema 4D to calculate a custom preview. Private.

    ◆ RegisterCustomGuiPlugin()

    Bool cinema::RegisterCustomGuiPlugin ( const maxon::String str,
    Int32  info,
    CustomGuiData dat 
    )

    Registers a custom GUI plugin.

    Note
    It is currently not possible to register a custom GUI for Bool or BaseTime.
    Parameters
    [in]strThe name of the plugin.
    [in]infoThe custom GUI plugin info flags: CUSTOMGUI_SUPPORT PLUGINFLAG
    [in]datAn instance for the custom GUI plugin. Cinema 4D takes over the ownership of the pointed data instance.
    Returns
    true if the custom GUI plugin was registered, otherwise false.

    ◆ FindCustomGuiPlugin()

    CUSTOMGUIPLUGIN* cinema::FindCustomGuiPlugin ( Int32  type)

    Finds registered custom GUI plugin structures from a type ID.

    Parameters
    [in]typeThe type ID.
    Returns
    The found plugin structure, or nullptr. Cinema 4D owns the pointed plugin structure.

    ◆ MAXON_DATATYPE()

    cinema::MAXON_DATATYPE ( GeData  ,
    "net.maxon.data.gedata"   
    )

    ◆ FillFalloffPlugin()

    void cinema::FillFalloffPlugin ( FALLOFFPLUGIN *  fp,
    Int32  info,
    FalloffDataAllocator g 
    )

    Private.

    ◆ RegisterFalloffPlugin()

    Bool cinema::RegisterFalloffPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    FalloffDataAllocator g,
    const maxon::String description 
    )

    Registers a falloff plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com.
    [in]strThe name of the plugin.
    [in]infoThe falloff plugin info flags: PLUGINFLAG
    [in]gThe allocator for the falloff plugin. This is a pointer to a function that creates a new instance of FalloffData with NewObj().
    [in]descriptionThe name of the description resource file to use for the falloff plugin without .res extension, for example "ofalloff_falloffname".
    The name has to be unique, i.e. "ofalloff_falloffname" cannot be used for 2 different descriptions. See Description Resource for more information.
    Returns
    true if the falloff plugin was registered, otherwise false.

    ◆ AllocFalloff()

    void* cinema::AllocFalloff ( Int32  type)

    Allocates a falloff.

    Parameters
    [in]typeThe falloff type.
    Returns
    The allocated falloff, or nullptr if the allocation failed.

    ◆ ExtractSampleFlags()

    FIELDSAMPLE_FLAG cinema::ExtractSampleFlags ( const ConstFieldOutputBlock block)

    Read the sample flags from the array content of a FieldOutputBlock.

    Parameters
    [in]blockThe outputs to extract flags from.
    Returns
    The flags.

    ◆ ValidateFieldOutputBlockWithFlags()

    Bool cinema::ValidateFieldOutputBlockWithFlags ( const FieldOutputBlock block,
    FIELDSAMPLE_FLAG  flags 
    )

    Validate the content of a block making sure that the block itself is valid and array allocation respect the specified flags. "block" flags must be a perfect 1 to 1 match with the specified flags for the function to succeed. if "block" is missing a flag or has an unneeded flag, validation will fail.

    Parameters
    [in]blockThe block to validate.
    [in]flagsThe flags to compare the block against..
    Returns
    True if the block is valid.

    ◆ RegisterFieldPlugin()

    Bool cinema::RegisterFieldPlugin ( Int32  id,
    const maxon::String name,
    const maxon::String help,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel 
    )

    Registers a FieldObject plugin

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com.
    [in]nameThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]helpThe help displayed on mouse hover over this FieldLayers icon.
    [in]infoThe field plugin info flags: PLUGINFLAG OBJECT PLUGINFLAG
    [in]gThe allocator for the object plugin. This is a pointer to a function that creates a new instance of FieldData with NewObj().
    [in]descriptionThe name of the description resource file to use for the object plugin without .res extension, for example "Fobjectname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the object. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the object plugin was registered, otherwise false.

    ◆ RegisterFieldLayerPlugin()

    Bool cinema::RegisterFieldLayerPlugin ( Int32  id,
    const maxon::String name,
    const maxon::String help,
    const maxon::String pickInstruction,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel,
    FieldLayerAcceptDragFunction *  dragFunc = nullptr 
    )

    Registers a FieldLayer plugin

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com.
    [in]nameThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]helpThe help displayed on mouse hover over this FieldLayers icon.
    [in]pickInstructionThe pick instruction.
    [in]infoThe FieldLayer plugin info flags: FIELDLAYER PLUGINFLAG
    [in]gThe allocator for the FieldLayer plugin. This is a pointer to a function that creates a new instance of FieldLayerData with NewObj().
    [in]descriptionThe name of the description resource file to use for the FieldLayer plugin without .res extension, for example "FLlayername".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the FieldLayer. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    [in]dragFunc(Optional) If non-null, the drag function, this is used to determine whether this layer can accept an object type (which will be passed via the SetLinkedObject function) within the FieldList.
    Returns
    true if the object plugin was registered, otherwise false.

    ◆ GeGetCurrentTime()

    void cinema::GeGetCurrentTime ( LocalFileTime out)

    Gets the current time.

    Parameters
    [out]outFilled with the current time. The caller owns the pointed file time.

    ◆ DateToString()

    String cinema::DateToString ( const LocalFileTime t,
    Bool  date_only 
    )

    Converts the value of a LocalFileTime into a string.

    Note
    The format of the returned string depends on the current OS date and time settings.
    Parameters
    [in]tThe file time to convert.
    [in]date_onlyIf true only the date part will be converted.
    Returns
    A String representing the LocalFileTime value.

    ◆ ShowInFinder()

    Bool cinema::ShowInFinder ( const Filename fn,
    Bool  open 
    )

    Shows the file/path in the Finder (Mac) or Explorer (Windows).

    Parameters
    [in]fnThe file/path to show.
    [in]openIf true the file will be opened by the assigned application.
    Returns
    true if the path/file exists, otherwise false.

    ◆ RequestFileFromServer()

    Bool cinema::RequestFileFromServer ( const Filename fn,
    Filename res 
    )

    Private.

    ◆ ToString() [1/4]

    maxon::String cinema::ToString ( const Filename val,
    const maxon::FormatStatement formatStatement,
    maxon::Bool  checkDatatype = false 
    )

    ◆ MaxonConvert() [1/9]

    maxon::Url cinema::MaxonConvert ( const Filename fn,
    MAXONCONVERTMODE  convertMode 
    )

    ◆ MaxonConvert() [2/9]

    Filename cinema::MaxonConvert ( const maxon::Url fn)

    ◆ RegisterBitmapLoaderPlugin()

    Bool cinema::RegisterBitmapLoaderPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    BitmapLoaderData dat 
    )

    Registers a bitmap loader plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: PLUGINFLAG PLUGINFLAG_BITMAPLOADER
    [in]datA data instance for the bitmap loader plugin. Cinema 4D takes over the ownership of the pointed plugin.
    Returns
    true if the bitmap loader plugin was registered, otherwise false.

    ◆ RegisterBitmapSaverPlugin()

    Bool cinema::RegisterBitmapSaverPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    BitmapSaverData dat,
    const maxon::String suffix 
    )

    Registers a bitmap saver plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: PLUGINFLAG PLUGINFLAG_BITMAPSAVER
    [in]datA data instance for the bitmap saver plugin. Cinema 4D takes over the ownership of the pointed plugin.
    [in]suffixThe file format suffix.
    Returns
    true if the bitmap saver plugin was registered, otherwise false.

    ◆ RegisterSceneLoaderPlugin()

    Bool cinema::RegisterSceneLoaderPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description 
    )

    Registers a scene loader plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: PLUGINFLAG PLUGINFLAG_SCENELOADER PLUGINFLAG_SCENEFILTER
    [in]gThe allocator for the scene loader plugin. This is a pointer to a function that creates a new instance of SceneLoaderData with NewObj().
    [in]descriptionThe name of the description resource file to use for the track plugin without .res extension, for example "Ffiltername".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    Returns
    true if the scene loader plugin was registered, otherwise false.

    ◆ RegisterSceneSaverPlugin()

    Bool cinema::RegisterSceneSaverPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    const maxon::String suffix 
    )

    Registers a scene saver plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe plugin info flags: PLUGINFLAG PLUGINFLAG_SCENEFILTER
    [in]gThe allocator for the scene saver plugin. This is a pointer to a function that creates a new instance of SceneSaverData with NewObj().
    [in]descriptionThe name of the description resource file to use for the track plugin without .res extension, for example "Ffiltername".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]suffixThe file format suffix.
    Returns
    true if the scene saver plugin was registered, otherwise false.

    ◆ GeGetUserName()

    maxon::String cinema::GeGetUserName ( )

    Returns the name of the user registered in the active account.

    Returns
    The user name.

    ◆ GeGetVersionType()

    VERSIONTYPE cinema::GeGetVersionType ( )

    Retrieves the type of Cinema 4D application that is running.

    Returns
    The version type: VERSIONTYPE

    ◆ GetGeneralLicensingInformation()

    maxon::Result<void> cinema::GetGeneralLicensingInformation ( maxon::String productId,
    maxon::String systemId,
    maxon::String userId,
    maxon::String licenseId,
    maxon::String userName 
    )

    Returns information about the currently used license and system.

    Parameters
    [out]productIdThe product id of the active license.
    [out]systemIdA unique system identifier.
    [out]userIdThe user id that the active license is assigned with.
    [out]licenseIdA unique license session identifier.
    [out]userNameThe user / account name that the active license is assigned with.
    Returns
    OK on success.

    ◆ ExportLicenses()

    maxon::Result<maxon::String> cinema::ExportLicenses ( )

    Returns licensing information as shown in the ExportLicenses menu command including productId, systemId, userId etc.

    Returns
    OK on success.

    ◆ AddLicenseItem()

    maxon::Result<void> cinema::AddLicenseItem ( const maxon::InternedId licenseItemId,
    Float  versionNumber,
    Bool  checkOnly,
    maxon::CustomLicenseItemDelegate &&  licenseUpdateCallback 
    )

    Private. AddLicenseItem adds extra licenses to query for each license check. This allows to verify extra features bundled with the app.

    Parameters
    [in]licenseItemIdId to check.
    [in]versionNumberCurrent version number of the feature. '0' if no version number is required.
    [in]checkOnlyTrue if the license should only checked for availability. In that case the license will not be consumed and displayed only in error case.
    [in]licenseUpdateCallbackCallback which will be triggered with each license update for this type.
    Returns
    OK on success.

    ◆ CheckLicenseFeature()

    maxon::Bool cinema::CheckLicenseFeature ( const maxon::InternedId featureId)

    CheckLicenseFeature queries certain license features. This includes predefined is as well as license items added with AddLicenseItem().

    Parameters
    [in]featureIdId to check. e.g. ENTITLEMENTFEATURES::ISBETA
    Returns
    OK on success.

    ◆ HasFullFeatureSet()

    Bool cinema::HasFullFeatureSet ( )

    Determines whether the type of Cinema 4D application has no feature limitations. Certain editions like C4D Lite do not allow for all features.

    Returns
    true if If all features are available., otherwise false.

    ◆ IsNet()

    Bool cinema::IsNet ( )

    Checks if either a NET server or client application is running.

    Returns
    true if NET is running, otherwise false.

    ◆ IsServer()

    Bool cinema::IsServer ( )

    Checks if a NET server application is running.

    Returns
    true if NET is running as server, otherwise false.

    ◆ IsClient()

    Bool cinema::IsClient ( )

    Checks if a NET client application is running.

    Returns
    true if NET is running as client, otherwise false.

    ◆ GeShowMouse()

    void cinema::GeShowMouse ( Int32  v)

    Sets the type of mouse pointer.

    Warning
    Should only be called from the main thread.
    Parameters
    [in]vThe mouse pointer: MOUSE

    ◆ GeGetScreenDimensions()

    Bool cinema::GeGetScreenDimensions ( Int32  x,
    Int32  y,
    Bool  whole_screen,
    Int32 sx1,
    Int32 sy1,
    Int32 sx2,
    Int32 sy2 
    )

    Retrieves the screen dimensions in pixels.

    Parameters
    [in]xThe screen X coordinates to identify which display information is read (for multi-display setups).
    [in]yThe screen Y coordinates to identify which display information is read (for multi-display setups).
    [in]whole_screentrue if dimensions of the whole screen (including task bar etc.) are returned, otherwise false.
    [out]sx1Assigned the minimum X coordinate (left).
    [out]sy1Assigned the minimum Y coordinate (top).
    [out]sx2Assigned the maximum X coordinate (right).
    [out]sy2Assigned the maximum Y coordinate (bottom).
    Returns
    true if successful, otherwise false.

    ◆ GeGetTimer()

    Int32 cinema::GeGetTimer ( )

    Retrieves the current timer count in milliseconds.

    Returns
    The current timer count in milliseconds.

    ◆ GeGetMilliSeconds()

    Float64 cinema::GeGetMilliSeconds ( )

    Get the current timer count in milliseconds.

    Returns
    The current timer count in milliseconds.

    ◆ GeGetLineEnd()

    String cinema::GeGetLineEnd ( )

    Retrieves a string that contains the type of line ending characters for the running OS.

    Returns
    The type of line ending.

    ◆ GeGetDefaultFPS()

    Int32 cinema::GeGetDefaultFPS ( )

    Retrieves the default frames per second.

    Returns
    The default FPS value.

    ◆ GeGetCinemaInfo()

    UInt32 cinema::GeGetCinemaInfo ( CINEMAINFO  info)

    Retrieves information about Cinema 4D's application runtime.

    Parameters
    [in]infoThe information type: CINEMAINFO
    Returns
    The Cinema 4D's information.

    ◆ GeOutString()

    GEMB_R cinema::GeOutString ( const maxon::String str,
    GEMB  flags 
    )

    Displays a message box with the string as the text.

    Parameters
    [in]strThe dialog box message.
    [in]flagsThe flags: GEMB
    Returns
    The result from the message box: GEMB_R

    ◆ GeGetCurrentOS()

    OPERATINGSYSTEM cinema::GeGetCurrentOS ( )

    Retrieves the type of OS that is running Cinema 4D.

    Returns
    The OS running: OPERATINGSYSTEM

    ◆ GeGetByteOrder()

    BYTEORDER cinema::GeGetByteOrder ( )

    Retrieves the byte order for the platform that Cinema 4D is running on.

    Returns
    The byte order: BYTEORDER

    ◆ GeGetGray()

    void cinema::GeGetGray ( Int32 r,
    Int32 g,
    Int32 b 
    )

    Retrieves the color values for the default Cinema 4D gray.

    Parameters
    [out]rAssigned the red component of the gray color.
    [out]gAssigned the green component of the gray color.
    [out]bAssigned the blue component of the gray color.

    ◆ GeChooseColor()

    Bool cinema::GeChooseColor ( Vector col,
    Int32  flags 
    )

    Opens a color chooser dialog for the user to select a color.

    Parameters
    [in,out]colThe initial color for the dialog and assigned the chosen color.
    [in]flagsUsually 0 or one of the following flags to use the correct color profile for display: DR_COLORFIELD_ICC_BASEDOC or DR_COLORFIELD_ICC_BPTEX.
    Returns
    true if successful, otherwise false.

    ◆ GeChooseColorAlpha()

    Bool cinema::GeChooseColorAlpha ( maxon::ColorA col,
    Int32  flags 
    )

    Opens a color chooser dialog for the user to select a color with alpha.

    Parameters
    [in,out]colThe initial color for the dialog and assigned the chosen color.
    [in]flagsUsually 0 or one of the following flags to use the correct color profile for display: DR_COLORFIELD_ICC_BASEDOC or DR_COLORFIELD_ICC_BPTEX.
    Returns
    true if successful, otherwise false.

    ◆ GeOpenHTML()

    Bool cinema::GeOpenHTML ( const maxon::String webaddress)

    Opens a URL in the user's default web browser.

    Note
    The passed URL string has to be spec conform, see IETF - Uniform Resource Locators.
    Parameters
    [in]webaddressThe URL to open.
    Returns
    true if successful, otherwise false.

    ◆ GeChooseFont()

    Bool cinema::GeChooseFont ( BaseContainer bc)

    Opens a font chooser dialog for the user to select a font.

    Parameters
    [in]bcAssigned the selected font settings.
    Returns
    true if a new font was chosen, otherwise false.

    ◆ GeGetGuiFont()

    void cinema::GeGetGuiFont ( maxon::OSFontDefinition &  out)

    Internal. Returns the c4d UI font.

    ◆ GeGetMonoFont()

    void cinema::GeGetMonoFont ( maxon::OSFontDefinition &  out)

    Internal. Returns the c4d monospaced font.

    ◆ GeRegisterPlugin()

    Bool cinema::GeRegisterPlugin ( PLUGINTYPE  type,
    Int32  id,
    const maxon::String str,
    void *  data,
    Int32  datasize 
    )

    Deprecated. Use the individual functions for each plugin type instead.
    See Plugin Types.

    ◆ GePrint()

    void cinema::GePrint ( const maxon::String str)

    Outputs a string to the Cinema 4D console window. This routine is deprecated - use maxon::Application instead, which has an improved interface.

    Parameters
    [in]strThe string to display in the console window.

    ◆ GeConsoleOut()

    void cinema::GeConsoleOut ( const maxon::String str)

    Outputs a string to the Cinema 4D debug console window.
    This reoutine is deprecated - use maxon::DiagnosticOutput instead, which has an improved interface. See Debug Information.

    Parameters
    [in]strThe string to display in the debug console window.

    ◆ GeGetMovieInfo()

    Bool cinema::GeGetMovieInfo ( const Filename fn,
    Int32 frames,
    Float fps 
    )

    Retrieves information from a movie file.

    Parameters
    [in]fnThe filename of the movie file to retrieve the information from.
    [out]framesAssigned the number of frames.
    [out]fpsAssigned the number of frames per second.
    Returns
    true if successful, otherwise false.

    ◆ RenameDialog()

    Bool cinema::RenameDialog ( String str)

    Opens a standard rename dialog.

    Parameters
    [in,out]strThe string with the name to change. Assigned the new name. The caller owns the pointed string.
    Returns
    true if the name was changed, otherwise false.

    ◆ GetC4DVersion()

    Int32 cinema::GetC4DVersion ( )

    Retrieves the version of Cinema 4D that is running.

    Returns
    The version of Cinema 4D.

    ◆ GeGetDegreeChar()

    String cinema::GeGetDegreeChar ( )

    Retrieves the degree character (°).

    Returns
    A string containing the degree character.

    ◆ GeGetPercentChar()

    String cinema::GeGetPercentChar ( )

    Retrieves the percent character (%).

    Returns
    A string containing the percent character.

    ◆ lSwap()

    void cinema::lSwap ( void *  adr,
    Int  cnt = 1 
    )

    Swaps the bytes of Int values. (Converting between big endian and little endian.)

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ wSwap()

    void cinema::wSwap ( void *  adr,
    Int  cnt = 1 
    )

    Swaps the low and high bytes of UInt values. (Converting between big endian and little endian.)

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ lIntel()

    void cinema::lIntel ( void *  adr,
    Int  cnt = 1 
    )

    Convert Int values to Intel format. If already in Intel (i.e on a PC) the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ wIntel()

    void cinema::wIntel ( void *  adr,
    Int  cnt = 1 
    )

    Converts UInt values to Intel format. If already in Intel (i.e on a PC) the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ lMotor()

    void cinema::lMotor ( void *  adr,
    Int  cnt = 1 
    )

    Converts Int values to Motorola format. If already in Motorola (i.e on a Mac) the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ wMotor()

    void cinema::wMotor ( void *  adr,
    Int  cnt = 1 
    )

    Convert UInt values to Motorola format. If already in Motorola (i.e on a Mac) then the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ llSwap()

    void cinema::llSwap ( void *  adr,
    Int  cnt = 1 
    )

    Swaps the bytes of Int64 values. (Converting between big endian and little endian.)

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ llIntel()

    void cinema::llIntel ( void *  adr,
    Int  cnt = 1 
    )

    Converts Int64 values to Intel format. If already in Intel (i.e on a PC) the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ llMotor()

    void cinema::llMotor ( void *  adr,
    Int  cnt = 1 
    )

    Converts Int64 values to Motorola format. If already in Motorola (i.e on a Mac) the values remain unchanged.

    Parameters
    [in]adrThe address of the memory. The caller owns the pointed memory buffer or variable at adr.
    [in]cntThe number of elements in the memory buffer at adr (1 for a single element or variable).

    ◆ GeAddBackgroundHandler()

    void cinema::GeAddBackgroundHandler ( BackgroundHandler handler,
    void *  tdata,
    Int32  typeclass,
    Int32  priority 
    )

    Adds a background handler with the given typeclass and priority. Remove it with GeRemoveBackgroundHandler().
    A background handler is a hook that Cinema 4D processes when idle.
    The advantage over a regular thread or timer is that it always will be called at a certain position. As a result it will not block other Cinema 4D operations (noticeable slowdown).
    Cinema 4D itself uses background handler for example to redraw the view if it was stopped, to render material previews, to update the material preview in AM & MM, to draw the ants in BodyPaint etc.

    Warning
    Background handlers must only be used if you know exactly what you are doing. They need to be thoroughly tested since a bug introduced can mess up the whole application's behavior.
    Parameters
    [in]handlerThe background handler.
    [in]tdataThe private data. This will be passed on to the handler.
    [in]typeclassA unique plugin ID. Must be obtained from http://www.plugincafe.com
    There can be many handlers with the same class as long as they have different tdata.
    [in]priorityThe handler priority. Higher absolute values are evaluated before lower. A negative value means that it does not block positive priorities.
    Examples:
    #define BACKGROUNDHANDLER_PRIORITY_RENDERACTIVEMATERIAL 5000
    #define BACKGROUNDHANDLER_PRIORITY_REDRAWVIEW 4000
    #define BACKGROUNDHANDLER_PRIORITY_RENDERINACTIVEMATERIALS 3000
    #define BACKGROUNDHANDLER_PRIORITY_RENDEREXTERNAL -1000
    #define BACKGROUNDHANDLER_PRIORITY_REDRAWANTS -2000
    #define BACKGROUNDHANDLER_PRIORITY_PREVIEWCACHE 6000
    #define BACKGROUNDHANDLER_PRIORITY_PREVIEWCACHE_ANIMATION 2000
    #define BACKGROUNDHANDLER_PRIORITY_PREVIEWCACHE_ASYNC 3500
    The external render thread (output window) does not block the editor display.
    However, if e.g. an inactive material is being rendered the view will not be redrawn until the other thread finishes.

    ◆ GeRemoveBackgroundHandler()

    Bool cinema::GeRemoveBackgroundHandler ( void *  tdata,
    Int32  typeclass 
    )

    Removes background handlers added with GeAddBackgroundHandler().

    Parameters
    [in]tdataThe registered data.
    [in]typeclassThe registered type class ID.
    Returns
    true if successful, otherwise false.

    ◆ GeStopBackgroundThreads()

    Bool cinema::GeStopBackgroundThreads ( Int32  typeclass,
    BACKGROUNDHANDLERFLAGS  flags,
    BaseThread thread 
    )

    Stops all running background threads of the given typeclass. If typeclass==0 all threads are stopped.

    Parameters
    [in]typeclassThe type class ID to stop, or 0 for all classes.
    [in]flagsIf typeclass is BACKGROUNDHANDLER_TYPECLASS_C4D then the flags have the following meaning:: BACKGROUNDHANDLERFLAGS
    For own type classes define flags as needed, they will be routed to the background handler function.
    For example GeStopBackgroundThreads(BACKGROUNDHANDLER_TYPECLASS_C4D, BACKGROUNDHANDLER_FLAGS_EDITORRENDDER) will only stop the editor renderer (if it was running).
    GeStopBackgroundThreads(0, BACKGROUNDHANDLERFLAGS::SHUTDOWN) will kill anything running.
    [in]threadOptional thread or nullptr. If passed the return value can be false if the thread is stopped while it is trying to acquire the resources for this call.

    ◆ GeCheckBackgroundThreadsRunning()

    Bool cinema::GeCheckBackgroundThreadsRunning ( Int32  typeclass,
    Bool  all 
    )

    Checks if any of the background threads matching typeclass is running. If typeclass==0 all threads are checked.
    For example GeCheckBackgroundThreadsRunning(BACKGROUNDHANDLER_TYPECLASS_C4D, true) checks if Cinema 4D is doing anything right now.
    If all=false was passed it would not check for the external renderer and ants (which are always running in a BodyPaint selection).

    Parameters
    [in]typeclassThe type class ID to check, or 0 for all classes.
    [in]allIf true, negative priorities are also checked.
    Returns
    true if the specified background threads are running, otherwise false.

    ◆ SetMousePointer()

    void cinema::SetMousePointer ( Int32  l)

    Sets the type of mouse pointer.

    Parameters
    [in]lThe mouse pointer: MOUSE

    ◆ ShowBitmap() [1/2]

    Bool cinema::ShowBitmap ( const Filename fn)

    Displays a bitmap into the Picture Viewer.

    Warning
    Must be called from the main thread.
    Parameters
    [in]fnThe filename of the bitmap to display.
    Returns
    true if successful, otherwise false.

    ◆ ShowBitmap() [2/2]

    Bool cinema::ShowBitmap ( BaseBitmap bm)

    Displays a bitmap into the Picture Viewer.

    Note
    The bitmap will be copied for display.
    Warning
    Must be called from the main thread.
    Parameters
    [in]bmThe bitmap to display.
    Returns
    true if successful, otherwise false.

    ◆ StopAllThreads()

    void cinema::StopAllThreads ( )

    Stops all running threads.

    Note
    Be sure to call this routine always when a document is modified asynchronously.

    ◆ StopDrawViewsThread()

    void cinema::StopDrawViewsThread ( )

    Stops all draw views thread.

    Note
    Be sure to call this routine always when a document is modified asynchronously.

    ◆ ShutdownThreads()

    Bool cinema::ShutdownThreads ( Bool  shutdown)

    Private.

    ◆ StatusClear()

    void cinema::StatusClear ( )

    Clears the status bar text.

    ◆ StatusSetSpin()

    void cinema::StatusSetSpin ( )

    Sets the status bar progress bar spinning. Needs to be triggered for every spin step.
    Use this to indicate that a plugin is still processing even if the progress bar is not increasing.

    ◆ StatusSetBar()

    void cinema::StatusSetBar ( Int32  p)

    Sets the status bar progress bar.

    Parameters
    [in]pThe percentage of the progress (0-100).

    ◆ StatusSetText()

    void cinema::StatusSetText ( const maxon::String str)

    Sets the status bar text.

    Parameters
    [in]strThe text to display.

    ◆ StatusNetClear()

    void cinema::StatusNetClear ( )

    Clears the NET status bar text.

    Warning
    Reserved for Team Render and should not be used externally.

    ◆ StatusSetNetLoad()

    void cinema::StatusSetNetLoad ( STATUSNETSTATE  status)

    Sets the NET status bar to status state.

    Warning
    Reserved for Team Render and should not be used externally.
    Parameters
    [in]statusThe NET status state: STATUSNETSTATE

    ◆ StatusSetNetBar()

    void cinema::StatusSetNetBar ( Int32  p,
    const GeData dat 
    )

    Sets the NET status bar progress and custom color.

    Warning
    Reserved for Team Render and should not be used externally.
    Parameters
    [in]pThe percentage of the progress (0-100).
    [in]datThe color for the NET status bar. Can be a color constant COLOR_BG, COLOR_TEXT, etc. or a color Vector.

    ◆ StatusSetNetText()

    void cinema::StatusSetNetText ( const maxon::String str)

    Sets the NET status bar text.

    Warning
    Reserved for Team Render and should not be used externally.
    Parameters
    [in]strThe text to display.

    ◆ SpecialEventAdd()

    void cinema::SpecialEventAdd ( Int32  messageid,
    UInt  p1 = 0,
    UInt  p2 = 0 
    )

    Adds a custom event. Results in a CoreMessage().

    See also
    The article Core Messages for more information.
    Parameters
    [in]messageidThe message ID. A unique plugin ID. Must be obtained from http://www.plugincafe.com
    Use a unique plugin ID to make sure that there is no collision.
    [in]p1The first private data for the sent message.
    [in]p2The second private data for the sent message.

    ◆ EventAdd()

    void cinema::EventAdd ( EVENT  eventflag = EVENT::NONE)

    Adds a global event to Cinema 4D's event queue. Results in a CoreMessage().

    See also
    The article Core Messages for more information.
    Parameters
    [in]eventflagThe event to add: EVENT

    ◆ GeSyncMessage()

    Bool cinema::GeSyncMessage ( Int32  messageid,
    Int32  destid = 0,
    UInt  p1 = 0,
    UInt  p2 = 0 
    )

    Sends a synchronous event message (for example to make the Timeline, Timeslider etc. do an instant redraw).

    Parameters
    [in]messageidThe synchronous message to send: EVMSG
    [in]destidPrivate.
    [in]p1Private.
    [in]p2Private.
    Returns
    true if successful, otherwise false.

    ◆ DrawViews()

    Bool cinema::DrawViews ( DRAWFLAGS  flags,
    BaseDraw bd = nullptr 
    )

    Redraws the editor views.

    Note
    Cannot be used while a modal dialog is open.
    Warning
    Must be called from the main thread.
    Parameters
    [in]flagsThe draw flags: DRAWFLAGS
    [in]bdThe view to redraw when DRAWFLAGS::ONLY_BASEDRAW is set in flags.
    Returns
    true if successful, otherwise false.

    ◆ SendModelingCommand()

    Bool cinema::SendModelingCommand ( Int32  command,
    ModelingCommandData data 
    )

    Executes a builtin modelling operation as for example extruding a polygon selection or selecting all points of an object.

    Invoking a modelling command requires passing a ModelingCommandData instance which qualifies the command. Not all commands require all fields of the ModelingCommandData to be set, but it is recommended to at least always set the fields op, bc, and doc. When doc is set, the command operand op must be part of that document. The commands MCOMMAND_JOIN, MCOMMAND_MAKEEDITABLE, MCOMMAND_CURRENTSTATETOOBJECT, and MCOMMAND_SPLINE_PROJECT always require doc to be set.

    Note
    It is not allowed to allocate or deallocate scene elements outside from the main thread for loaded documents, e.g., the active document. This applies by extension also to SendModelingCommand and in cases where a modelling command must be executed outside from the main thread, this must always be done in a dummy document.

    Example for in-place modifying an object in a loaded document:

    // Get the active document and the first object in it.
    BaseDocument* doc = GetActiveDocument();
    BaseObject* op = doc->GetFirstObject();
    // Since the inputs will result in the active document being modified and outlining a spline
    // only works for spline objects, we must restrict the command to being on the main thread and
    // #op being a spline object.
    {
    // Define the settings container for the tool and the data for the operation.
    BaseContainer settings;
    ModelingCommandData data;
    settings.SetFloat(MDATA_SPLINE_OUTLINE, 25.0);
    data.doc = doc;
    data.bc = &settings;
    data.op = op;
    // Run the command and print the result.
    ApplicationOutput("MCOMMAND_SPLINE_CREATEOUTLINE succeeded: @", result);
    }
    PyObject PyObject * result
    Definition: abstract.h:43
    #define MCOMMAND_SPLINE_CREATEOUTLINE
    Create outline: MDATA_SPLINE.
    Definition: ge_prepass.h:1621
    #define MDATA_SPLINE_OUTLINE
    ::Float Spline outline distance.
    Definition: ge_prepass.h:1691
    #define Ospline
    Spline - SplineObject.
    Definition: ge_prepass.h:1042
    #define ApplicationOutput(formatString,...)
    Definition: debugdiagnostics.h:204
    BaseDocument * GetActiveDocument()
    Bool SendModelingCommand(Int32 command, ModelingCommandData &data)
    Executes a builtin modelling operation as for example extruding a polygon selection or selecting all ...
    Bool GeIsMainThreadAndNoDrawThread()

    Example for modifying an object in a dummy document from a threaded context:

    // ObjectData::GetVirtualObjects method called by Cinema 4D to build the cache of #op.
    //
    // This method will not run on the main thread and is therefore subject to threading resections.
    BaseObject* MyObjectData::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh)
    {
    // Get the first child of the node. Even when we would be okay with modifying this object, it is
    // not allowed to do this in this context, because GVO is being called from outside of the main
    // thread.
    BaseObject* firstChild = op->GetDown();
    if (!firstChild)
    // Clone `firstChild` and insert it into a temporary document. When these fail, we ran out of
    // memory and must halt the plugin execution by returning `nullptr`. When `firstChild` has
    // dependencies, e.g., a field object or a deformer, these must be cloned too. In this
    // example, we deliberately only clone the object itself.
    BaseObject* clone = firstChild->GetClone(COPYFLAGS::NO_HIERARCHY, nullptr);
    if (!clone)
    return nullptr;
    AutoAlloc<BaseDocument> temp;
    if (!temp)
    return nullptr;
    temp.InsertObject(clone, nullptr, nullptr);
    // Prepare the command and execute it on the cloned object in the dummy document.
    BaseContainer settings;
    ModelingCommandData data;
    data.doc = temp;
    data.bc = &settings;
    data.op = clone;
    // When the command fails, we probably do not want return `nullptr`, i.e., halt the plugin
    // execution, as that could change through a different user input, i.e., firstChild changing.
    // Get the result of the command and proceed to use it in this method.
    BaseObject* result = static_cast<BaseObject*>(data.result->GetIndex(0));
    ...
    static BaseObject * Alloc(Int32 type)
    @ NO_HIERARCHY
    Copy without children.
    #define MCOMMAND_CURRENTSTATETOOBJECT
    Current state to object (returns object): MDATA_CURRENTSTATETOOBJECT.
    Definition: ge_prepass.h:1652
    #define Onull
    Null.
    Definition: ge_prepass.h:1077
    Parameters
    [in]commandThe identifier of the command to execute. See MCOMMAND, ModelingToolsParameters, ModelingToolsNoParameters.
    [in]dataThe data for the command. Can be filled with the result for some commands.
    Returns
    true if the command was executed, otherwise false.

    ◆ GetGlobalTexturePaths()

    maxon::Result<TexturePathList> cinema::GetGlobalTexturePaths ( const Filename docPath)

    Retrieves the global texture paths.

    Parameters
    [in]docPathThe path of the document. This will be used to complete relative texture paths.
    Pass nullptr if you want to get the unmodified paths only.
    Returns
    The global texture paths for Cinema 4D.

    ◆ SetGlobalTexturePaths()

    maxon::Result<void> cinema::SetGlobalTexturePaths ( const TexturePathList paths)

    Sets the global texture paths.

    ◆ GenerateTexturePath()

    Bool cinema::GenerateTexturePath ( const Filename docpath,
    const Filename srcname,
    const Filename suggestedfolder,
    Filename dstname,
    NetRenderService service = nullptr,
    BaseThread bt = nullptr 
    )

    Generates the texture filename for a given texture image.

    Parameters
    [in]docpathThe filename of the document for the texture.
    [in]srcnameThe filename of the image.
    [in]suggestedfolderA suggested folder path for the image. Can be an empty Filename.
    [out]dstnameAssigned the generated path.
    [in]serviceAn optional NET render service for the operation. The caller owns the pointed service.
    [in]btAn optional thread for the operation. The caller owns the pointed thread.
    Returns
    true if successful, otherwise false.

    ◆ IsInSearchPath()

    Bool cinema::IsInSearchPath ( const Filename texfilename,
    const Filename docpath 
    )

    Checks if the texture texfilename is in the search path for files located in docpath.

    Note
    The function only performs string comparisons between texfilename and docpath.
    Parameters
    [in]texfilenameThe texture file name.
    [in]docpathThe document path.
    Returns
    true if the texture file is in the search path, otherwise false.

    ◆ FlushTexture()

    void cinema::FlushTexture ( const Filename docpath,
    const maxon::String name,
    const Filename suggestedfolder 
    )

    Flushes the given texture.

    Parameters
    [in]docpathThe filename of the document with the texture.
    [in]nameThe name of the texture to flush.
    [in]suggestedfolderA suggested folder path for the image. Can be an empty Filename.

    ◆ FlushUnusedTextures()

    void cinema::FlushUnusedTextures ( )

    Flushes all unused textures.

    ◆ GetWorldContainer()

    BaseContainer cinema::GetWorldContainer ( )

    Retrieves the main Cinema 4D settings container.

    Returns
    The main Cinema 4D settings: WPREF

    ◆ GetWorldContainerInstance()

    BaseContainer* cinema::GetWorldContainerInstance ( )

    Retrieves the main Cinema 4D settings container that can be changed directly.

    Note
    There are a few settings that are transferred to the world container within the call GetWorldContainer(), for example WPREF_UNITS_BASIC to WPREF_COLOR_SYSTEM_COLORCHOOSER::
    These settings cannot be set using GetWorldContainerInstance(). To read only these values, use GetAdditionalWorldContainerData.
    Returns
    The main Cinema 4D settings: WPREF

    ◆ GetAdditionalWorldContainerData()

    void cinema::GetAdditionalWorldContainerData ( BaseContainer bc)

    Gets additional world container data (see GetWorldContainerInstance).

    Parameters
    [out]bcA container which receives the data. the container is not cleared before data is written.

    ◆ GetRecentDocumentsList()

    maxon::Result<maxon::BaseArray<maxon::Url> > cinema::GetRecentDocumentsList ( Bool  isBodyPaint)

    Retrieves the recent documents list.

    Parameters
    [in]isBodyPaintSet to reteive BodyPaint's list.
    Returns
    The recent documents list.

    ◆ GetActiveNodeSpaceId()

    maxon::Id cinema::GetActiveNodeSpaceId ( )

    Returns the active node space. This is a program-wide global UI setting.

    Returns
    The Id of the current node space.

    ◆ SaveWorldPreferences()

    void cinema::SaveWorldPreferences ( )

    Saves the main Cinema 4D preferences.

    ◆ SetWorldContainer()

    void cinema::SetWorldContainer ( const BaseContainer bc)

    Sets the main Cinema 4D settings container.
    See GetWorldContainer() for values.

    Parameters
    [in]bcThe settings container.

    ◆ GetViewColor()

    Vector cinema::GetViewColor ( Int32  colid,
    Vector defaultColor = nullptr 
    )

    Retrieves a main Cinema 4D color.

    Parameters
    [in]colidThe color ID to get: VIEWCOLOR
    [in]defaultColorPass a valid pointer to get the default color.
    Returns
    The color value.

    ◆ SetViewColor()

    void cinema::SetViewColor ( Int32  colid,
    const Vector col 
    )

    Sets one of the main Cinema 4D colors.

    Parameters
    [in]colidThe color ID to set: VIEWCOLOR
    [in]colThe new color.

    ◆ ErrorStringDialog()

    void cinema::ErrorStringDialog ( CHECKVALUERANGE  type,
    Float  x,
    Float  y,
    CHECKVALUEFORMAT  is 
    )

    Displays an error dialog for incorrectly entered values.

    Parameters
    [in]typeThe check value range type: CHECKVALUERANGE
    [in]xThe lowest value.
    [in]yThe highest value.
    [in]isThe values type: CHECKVALUEFORMAT

    ◆ ReadPluginInfo()

    Bool cinema::ReadPluginInfo ( Int32  pluginid,
    void *  buffer,
    Int32  size 
    )

    Reads private serial information for a plugin. Cinema 4D will store this data encrypted.

    Parameters
    [in]pluginidA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]bufferThe buffer to take the data.
    [in]sizeThe size of the buffer. This must not exceed 3500.
    Returns
    true if successful, otherwise false.

    ◆ WritePluginInfo()

    Bool cinema::WritePluginInfo ( Int32  pluginid,
    void *  buffer,
    Int32  size 
    )
    Parameters
    [in]pluginidA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]bufferThe buffer with the data.
    [in]sizeThe size of the buffer. This must not exceed 3500.
    Returns
    true if successful, otherwise false.

    ◆ ReadRegInfo()

    Bool cinema::ReadRegInfo ( Int32  pluginid,
    void *  buffer,
    Int32  size 
    )

    Reads user-specific data (e.g. login data for a user account).

    Note
    Use this method instead of ReadPluginInfo() in a license server environment.
    Parameters
    [in]pluginidA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]bufferThe data buffer. The caller owns the pointed buffer.
    [in]sizeThe buffer size.
    Returns
    true if successful, otherwise false.

    ◆ WriteRegInfo()

    Bool cinema::WriteRegInfo ( Int32  pluginid,
    void *  buffer,
    Int32  size 
    )

    Writes user-specific data (e.g. login data for a user account).

    Note
    Use this method instead of WritePluginInfo() in a license server environment.
    Parameters
    [in]pluginidA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]bufferThe data buffer. The caller owns the pointed buffer.
    [in]sizeThe buffer size.
    Returns
    true if successful, otherwise false.

    ◆ GetWorldPluginData()

    BaseContainer* cinema::GetWorldPluginData ( Int32  id)

    Retrieves a container stored with SetWorldPluginData() from the Cinema 4D preferences.

    Note
    This can be used by any plugin to store preferences.
    Parameters
    [in]idThe plugin ID that the container was stored with.
    Returns
    The retrieved container. Cinema 4D owns the pointed container.

    ◆ SetWorldPluginData()

    Bool cinema::SetWorldPluginData ( Int32  id,
    const BaseContainer bc,
    Bool  add = true 
    )

    Stores a container in the Cinema 4D preferences.

    Note
    This can be used by any plugin to store preferences.
    Parameters
    [in]idThe plugin ID that the container should be associated with.
    [in]bcThe container to set.
    [in]addIf true, the container values are merged with the ones currently stored for the ID. Otherwise the previous values are lost.
    Returns
    true if successful, otherwise false.

    ◆ GetToolPluginData()

    BaseContainer* cinema::GetToolPluginData ( BaseDocument doc,
    Int32  id 
    )

    Retrieves a tool plugin container stored in a document.

    Parameters
    [in]docThe document. The caller owns the pointed document.
    [in]idThe tool plugin ID.
    Returns
    The retrieved tool plugin container.

    ◆ GeIsActiveToolEnabled()

    Bool cinema::GeIsActiveToolEnabled ( )

    Checks if the active tool is ghosted.

    Returns
    true if the active tool is not ghosted, otherwise false.

    ◆ GetActiveTool()

    ToolPlugin* cinema::GetActiveTool ( )

    Gets the active tool. Private.

    Since
    R19
    Returns
    The active tool.

    ◆ GeGetLanguage()

    Bool cinema::GeGetLanguage ( Int32  index,
    maxon::String extension,
    maxon::String name,
    Bool default_language 
    )

    Enumerates information about the available languages.
    Start with index==0 and then iterate with index++ until the function returns false.

    Parameters
    [in]indexThe language index.
    [out]extensionAssigned the language extension.
    [out]nameAssigned the human readable language name.
    [out]default_languageAssigned true if this is the default language, otherwise false.
    Returns
    true if there was a language at index, otherwise false.

    ◆ GeFilterSetSuffix()

    Filename cinema::GeFilterSetSuffix ( const Filename name,
    Int32  id 
    )

    Sets the standard suffix of a given bitmap saver plugin.
    e.g. if name is "C:\test" and id is 1106 (Photoshop PSD) then the returned Filename will be "C:\test.psd".

    Parameters
    [in]nameThe filename.
    [in]idThe ID of the bitmap saver plugin.
    Returns
    The given file name with the concatenated suffix.

    ◆ GeIdentifyFile()

    IDENTIFYFILE cinema::GeIdentifyFile ( const Filename name,
    UChar probe,
    Int32  probesize,
    IDENTIFYFILE  recognition,
    BasePlugin **  bp 
    )

    Identifies the file in name.

    Parameters
    [in]nameThe file to check.
    [in]probeThe start of a small chunk of data from the start of the file for testing this file type.
    Usually the probe size is 1024 bytes. The caller owns the pointed data.
    [in]probesizeThe size of the probe array.
    [in]recognitionThe identification flags: IDENTIFYFILE
    [in]bpFor image formats this is filled with a pointer to the image loader that was identified.
    Returns
    The identification result: IDENTIFYFILE

    ◆ GetScriptHead()

    GeListHead* cinema::GetScriptHead ( Int32  type)

    Retrieves the list head for scripts (ID_COFFEESCRIPT).

    Parameters
    [in]typeCurrently 0 is user scripts and 1 is system scripts.
    The user scripts are located in library/scripts whereas system scripts are in resource/scripts.)
    Returns
    The script list head. Cinema 4D owns the pointed list head.

    ◆ GetDynamicScriptID()

    Int32 cinema::GetDynamicScriptID ( BaseList2D bl)

    Retrieves the dynamic ID of the ID_COFFEESCRIPT script bl.
    Every script gets a dynamic ID when loaded, which is just like a regular plugin ID.
    This is necessary in many parts of the program. It is only when loading and saving the scripts that the unique (script) names are used; the ID is created dynamically at loading time.

    Parameters
    [in]blThe script to get the ID for. The caller owns the pointed script.
    Returns
    The dynamic script ID.

    ◆ SetActiveScriptObject()

    void cinema::SetActiveScriptObject ( Int32  type)

    Define the script to be displayed in the Script Manager.

    Parameters
    [in]typeThe script ID. Retrieve it with GetDynamicScriptID.

    ◆ CreateNewPythonScript()

    BaseList2D* cinema::CreateNewPythonScript ( String name,
    const String body 
    )

    Create a new temporary python script.

    Parameters
    [in,out]nameThe script name. Pass an empty string to automatically generated one.
    [in]bodyThe script content.
    Returns
    The created python script. Can be nullptr if creation failed.

    ◆ LoadPythonScript()

    BaseList2D* cinema::LoadPythonScript ( const Filename fn)

    Load a python script.

    Parameters
    [in]fnThe script name. Pass an empty filename to automatically generated one.
    Returns
    The loaded python script. Can be nullptr if loading failed.

    ◆ GetCommandLineArgs()

    Bool cinema::GetCommandLineArgs ( C4DPL_CommandLineArgs args)

    Retrieves the command line arguments used to start Cinema 4D in args.

    Note
    Linux only.
    Parameters
    [in]argsFilled with the command line arguments.
    Returns
    true if the command line arguments could be retrieved, otherwise false.

    ◆ GetObjectName()

    String cinema::GetObjectName ( Int32  type)

    Retrieves a user presentable name from an object type ID. For example GetObjectName(Onull) returns "Null".

    Parameters
    [in]typeAn object type ID.
    Returns
    The object name for type.

    ◆ GetTagName()

    String cinema::GetTagName ( Int32  type)

    Retrieves a user presentable name from a tag type ID.

    Parameters
    [in]typeA tag type ID.
    Returns
    The tag name for type.

    ◆ GetObjectType()

    Int32 cinema::GetObjectType ( const maxon::String name)

    The inverse of GetObjectName(). Returns an object type from an object name.

    Parameters
    [in]nameAn object name.
    Returns
    The object type for name.

    ◆ GetTagType()

    Int32 cinema::GetTagType ( const maxon::String name)

    The inverse of GetTagName(). Returns a tag type from a tag name.

    Parameters
    [in]nameA tag name.
    Returns
    The tag type for name.

    ◆ GeRegistryAdd()

    Bool cinema::GeRegistryAdd ( Int32  sub_id,
    REGISTRYTYPE  main_id,
    void *  data 
    )

    Private.

    ◆ GeRegistryRemove()

    Bool cinema::GeRegistryRemove ( Int32  sub_id,
    REGISTRYTYPE  main_id 
    )

    Private.

    ◆ GeRegistryFind()

    Registry* cinema::GeRegistryFind ( Int32  sub_id,
    REGISTRYTYPE  main_id 
    )

    Private.

    ◆ GeRegistryGetLast()

    Registry* cinema::GeRegistryGetLast ( REGISTRYTYPE  main_id)

    Private.

    ◆ GeRegistryGetFirst()

    Registry* cinema::GeRegistryGetFirst ( REGISTRYTYPE  main_id)

    Private.

    ◆ GeRegistryGetAutoID()

    Bool cinema::GeRegistryGetAutoID ( Int32 id)

    Private.

    ◆ GePluginMessage()

    Bool cinema::GePluginMessage ( Int32  id,
    void *  data 
    )

    Sends a plugin message to other plugins. These messages can be received with PluginMessage(). The message is sent to all plugin modules.

    Parameters
    [in]idThe ID of the message.
    [in]dataThe message data. It is highly recommended as caller to own the pointed object and to not rely on the receiver to take the ownership.
    Returns
    true if the message could be sent, otherwise false.

    ◆ CheckIsRunning()

    Bool cinema::CheckIsRunning ( CHECKISRUNNING  type)

    Checks if a task is running.

    Parameters
    [in]typeThe task: CHECKISRUNNING
    Returns
    true if the task running, otherwise false.

    ◆ GeGetDefaultFilename()

    String cinema::GeGetDefaultFilename ( Int32  id)

    Retrieves the default filename for a category.
    In the following example the name DEFAULTFILENAME_SHADER_VOLUME is placed in front of the shader name, placing the material in the Shader category:

    RegisterMaterialPlugin(Mmy, GeGetDefaultFilename(DEFAULTFILENAME_SHADER_VOLUME)+String("MyMaterial"), 0, MyClass::Alloc, "Mmy", 0);
    #define DEFAULTFILENAME_SHADER_VOLUME
    Volume.
    Definition: ge_prepass.h:4857
    Bool RegisterMaterialPlugin(Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel)
    String GeGetDefaultFilename(Int32 id)
    Parameters
    [in]idThe category ID: DEFAULTFILENAME_SHADER
    Returns
    The filename to prepend to the material name.

    ◆ FindInManager()

    void cinema::FindInManager ( BaseList2D bl)

    Finds and makes bl visible in its manager.

    Parameters
    [in]blThe object to find. The caller owns the pointed object.

    ◆ GeSleep()

    void cinema::GeSleep ( Int32  milliseconds)

    Sleeps for milliseconds ms. Deprecated. Do not use for idle loops. Wait()/GetResult() for condition variables/jobs/threads must be used.

    Parameters
    [in]millisecondsThe time to sleep in milliseconds.

    ◆ GeIsMainThread()

    Bool cinema::GeIsMainThread ( )

    Checks if code is run from within the main thread of Cinema 4D.

    Returns
    true if called from the main thread, otherwise false.

    ◆ GeIsMainThreadAndNoDrawThread()

    Bool cinema::GeIsMainThreadAndNoDrawThread ( )

    Checks if code is run from within the main thread of Cinema 4D and if the main thread does not execute any drawing code currently.

    Since
    R16.038
    Note
    This routine can be used to make sure that no illegal code is called during a drawing operation.
    In Cinema 4D the drawing will be started threaded or non-threaded, depending on the situation.
    It is not allowed to add e.g. undos or delete objects or materials while the drawing is in progress (this would lead to immediate crashes).
    If your code calls other routines that are not aware of their context (e.g. some code within a Message that does not know whether it was called from a drawing thread or during a command call)
    GeIsMainThreadAndNoDrawThread() can be used to detect the correct situation.
    Returns
    true if called from the main thread and main thread does not execute a drawing operation, otherwise false.

    ◆ _GeDebugBreak()

    void cinema::_GeDebugBreak ( Int32  line,
    const Char file 
    )

    Private.

    ◆ GeDebugOut() [1/2]

    void cinema::GeDebugOut ( const Char s,
      ... 
    )

    Prints a string to the debug console using vsprintf() syntax.

    Note
    Requires that the API is build in debug mode i.e. MAXON_TARGET_DEBUG is defined.
    Parameters
    [in]sThe string to print. Limited to 2048 characters.
    Following parameters are format for vsprintf().

    ◆ GeDebugOut() [2/2]

    void cinema::GeDebugOut ( const maxon::String s)

    Prints a string to the debug console.

    Note
    Requires that the API is build in debug mode i.e. MAXON_TARGET_DEBUG is defined.
    Parameters
    [in]sThe string to print. Limited to 2048 characters.

    ◆ SendCoreMessage()

    GeData cinema::SendCoreMessage ( Int32  coreid,
    const BaseContainer msg,
    Int32  eventid = 0 
    )

    Sends a core message.

    See also
    The article Core Messages for more information.

    Examples:

    // Check if command id is enabled
    Int32 GetInt32() const
    Definition: c4d_gedata.h:455
    #define COREMSG_CINEMA
    Requests to Cinema 4D core.
    Definition: c4d_general.h:1569
    #define COREMSG_CINEMA_GETCOMMANDENABLED
    The name is given as a String in the returned GeData.
    Definition: c4d_gui.h:83
    GeData SendCoreMessage(Int32 coreid, const BaseContainer &msg, Int32 eventid=0)
    // Get the machine features
    BaseContainer* bc = data.GetContainer();
    #define COREMSG_CINEMA_GETMACHINEFEATURES
    Definition: c4d_general.h:1604
    // Execute an editor command
    #define COREMSG_CINEMA_EXECUTESUBID
    Pass the sub-ID for COREMSG_CINEMA_EXECUTEEDITORCOMMAND.
    Definition: c4d_gui.h:89
    #define COREMSG_CINEMA_EXECUTEEDITORCOMMAND
    The result is given as a true or false integer value in the returned GeData.
    Definition: c4d_gui.h:87
    // Execute the options dialog of an editor command
    msg.SetInt32(COREMSG_CINEMA_EXECUTEOPTIONMODE, true); // true to open the options dialog
    #define COREMSG_CINEMA_EXECUTEOPTIONMODE
    Pass whether to open (true) the options dialog or not (false) for COREMSG_CINEMA_EXECUTEEDITORCOMMAND...
    Definition: c4d_gui.h:90
    Parameters
    [in]coreidThe core message ID: COREMSG_CINEMA.
    [in]msgThe message container: COREMSG
    [in]eventidThe event ID.
    Returns
    The data.

    ◆ GetMacModel()

    String cinema::GetMacModel ( const maxon::String machinemodel)

    On a Mac GetMachineFeatures().GetString(MACHINEINFO_MACHINEMODEL) returns the model name which is set in the OS like "iMac4,1" or "MacBookPro8,2".
    If this string is pass to GetMacModel() a much more human readable string like "iMac Intel Core 2 Duo (aluminum enclosure) (Mid 2007)" or "MacBook Pro Intel Core i5, Intel Core i7, 13 (Early 2011)".

    Parameters
    [in]machinemodelThe machine model returned by GetMachineFeatures().GetString(MACHINEINFO_MACHINEMODEL).
    Returns
    The Mac model.

    ◆ GetMachineFeatures()

    Retrieves the features of the computer.

    Parameters
    [in]typeThe machine features type: MACHINEFEATURESTYPE
    Since R18.
    Returns
    The container with the machine features:
    MACHINEINFO
    OPENGL

    ◆ GeGetMemoryStat()

    Bool cinema::GeGetMemoryStat ( BaseContainer stat)

    Retrieves Cinema 4D memory statistics.

    Parameters
    [in]statAssigned the memory statistics: C4D_MEMORY_STAT
    Returns
    true if successful, otherwise false.

    ◆ PopupEditText()

    Bool cinema::PopupEditText ( Int32  screenx,
    Int32  screeny,
    Int32  width,
    Int32  height,
    const maxon::String changeme,
    maxon::Delegate< void(POPUPEDITTEXTCALLBACK, maxon::String &)>  func 
    )

    Opens a small popup window at (screenx, screeny) where the user can edit the changeme string. The result is reported to the func callback.

    Parameters
    [in]screenxThe X screen coordinate of the window.
    [in]screenyThe Y screen coordinate of the window.
    [in]widthThe width of the window.
    [in]heightThe height of the window.
    [in,out]changemeThe string to change.
    [in]funcThe callback function.
    Returns
    true if the popup edit text could be opened, otherwise false.

    ◆ StartEditorRender()

    void cinema::StartEditorRender ( Bool  active_only,
    Bool  raybrush,
    Int32  x1,
    Int32  y1,
    Int32  x2,
    Int32  y2,
    BaseThread bt,
    BaseDraw bd,
    Bool  newthread 
    )

    Starts the editor renderer.

    Parameters
    [in]active_onlytrue for active object only.
    [in]raybrushtrue for ray brush mode.
    [in]x1The X coordinate of the first corner of the render rectangle.
    [in]y1The Y coordinate of the first corner of the render rectangle.
    [in]x2The X coordinate of the second corner of the render rectangle.
    [in]y2The Y coordinate of the second corner of the render rectangle.
    [in]btThe thread for the operation. The caller owns the pointed thread.
    [in]bdThe view to draw to. The caller owns the pointed view.
    [in]newthreadIf true, then the editor render is done asynchronously. In that case pass nullptr for the thread.

    ◆ FormatNumber()

    String cinema::FormatNumber ( const GeData val,
    Int32  format,
    Int32  fps,
    Bool  bUnit = true 
    )

    Converts val to a string.

    Parameters
    [in]valThe value to convert to a string. Must be of type Float, Int32 or BaseTime.
    [in]formatThe format: FORMAT_NUMBERS
    [in]fpsThe frames per second, for time values.
    [in]bUnitIf true the unit is included in the formatted string.
    Returns
    The formatted string.

    ◆ StringToNumber()

    GeData cinema::StringToNumber ( const maxon::String text,
    Int32  format,
    Int32  fps,
    const LENGTHUNIT lengthunit = nullptr 
    )

    Converts a string to a data value of type Float or Int32.

    Parameters
    [in]textThe string to convert to a value.
    [in]formatThe format: FORMAT_NUMBERS
    [in]fpsThe frames per second, for time values.
    [in]lengthunitCan be used to override the units conversion. By default it will use the document's units.
    For example a string of "50" will result in 0.5 if the document's units are Meters and the unit display setting is centimeters.
    If lengthunit is specified its value will be used instead of the document's units setting.
    Returns
    The converted value.

    ◆ CallCommand()

    void cinema::CallCommand ( Int32  id,
    Int32  subid = 0 
    )

    Executes commands.

    Parameters
    [in]idThe command ID.
    [in]subidThe sub ID. (Used for scripts.)

    ◆ GetCommandName()

    String cinema::GetCommandName ( Int32  id)

    Gets the name of a command.

    Parameters
    [in]idThe command ID.
    Returns
    The command name.

    ◆ GetCommandHelp()

    String cinema::GetCommandHelp ( Int32  id)

    Gets the help string of a command.

    Parameters
    [in]idThe ID of the command.
    Returns
    The help string.

    ◆ IsCommandEnabled()

    Bool cinema::IsCommandEnabled ( Int32  id)

    Checks if a command is enabled.

    Parameters
    [in]idThe ID of the command.
    Returns
    true if the command is enabled, otherwise false.

    ◆ IsCommandChecked()

    Bool cinema::IsCommandChecked ( Int32  id)

    Checks if a command is checked.

    Parameters
    [in]idThe ID of the command.
    Returns
    true if the command is checked, otherwise false.

    ◆ GetSystemEnvironmentVariable()

    Bool cinema::GetSystemEnvironmentVariable ( const maxon::String varname,
    maxon::String result 
    )

    Retrieves system environment variables.

    Parameters
    [in]varnameThe environment variable name.
    [out]resultAssigned the retrieved value, if available.
    Returns
    true if successful, otherwise false.

    ◆ AskForAdministratorPrivileges()

    Bool cinema::AskForAdministratorPrivileges ( const maxon::String msg,
    const maxon::String caption,
    Bool  allowsuperuser,
    void **  token 
    )

    Private.

    ◆ EndAdministratorPrivileges()

    void cinema::EndAdministratorPrivileges ( )

    Private.

    ◆ RestartApplication()

    void cinema::RestartApplication ( const Utf16Char param = nullptr,
    Int32  exitcode = 0,
    const Utf16Char **  path = nullptr 
    )

    Private.

    ◆ SetExitCode()

    void cinema::SetExitCode ( Int32  exitCode)

    Sets the exit code returned by Cinema 4D when it exits.

    Parameters
    [in]exitCodeThe exit code.

    ◆ GeUpdateUI()

    void cinema::GeUpdateUI ( )

    Forces a redraw of the GUI, for example after a change of the preferences or Linear Workflow settings.

    ◆ GeGetActiveViewportType()

    VIEWPORTTYPE cinema::GeGetActiveViewportType ( )

    Returns the type of viewport that is currently active

    Returns
    The type of active viewport: VIEWPORTTYPE

    ◆ GetShortcutCount()

    Int32 cinema::GetShortcutCount ( )

    Retrieves the global shortcut count.

    Returns
    The number of shortcuts.

    ◆ GetShortcut()

    BaseContainer cinema::GetShortcut ( Int32  index)

    Retrieves the shortcut at index.

    Parameters
    [in]indexThe shortcut index: 0 <= index < GetShortcutCount()
    Returns
    The retrieved shortcut.

    ◆ AddShortcut()

    Bool cinema::AddShortcut ( const BaseContainer bc)

    Adds the shortcut in bc to the shortcut list.

    Parameters
    [in]bcThe container for the shortcut to add: SHORTCUT
    Returns
    true if successful, otherwise false.

    ◆ RemoveShortcut()

    Bool cinema::RemoveShortcut ( Int32  index)

    Removes the shortcut at index.

    Parameters
    [in]indexThe shortcut index: 0 <= index < GetShortcutCount()
    Returns
    true if successful, otherwise false.

    ◆ LoadShortcutSet()

    Bool cinema::LoadShortcutSet ( const Filename fn,
    Bool  add 
    )

    Loads shortcuts.

    Parameters
    [in]fnThe file with the shortcuts to load.
    [in]addtrue to add the shortcuts, instead of replacing.
    Returns
    true if successful, otherwise false.

    ◆ SaveShortcutSet()

    Bool cinema::SaveShortcutSet ( const Filename fn)

    Save shortcuts.

    Parameters
    [in]fnThe file to save the shortcuts to.
    Returns
    true if successful, otherwise false.

    ◆ FindShortcutsFromID()

    Int32 cinema::FindShortcutsFromID ( Int32  pluginid,
    Int32 indexarray,
    Int32  maxarrayelements 
    )

    Finds all shortcuts assigned to a command.

    Parameters
    [in]pluginidThe plugin ID to search for.
    [out]indexarrayFilled with the found IDs. The caller owns the pointed array.
    [in]maxarrayelementsThe size of indexarray
    Returns
    The number of shortcuts found.

    ◆ FindShortcuts()

    Int32 cinema::FindShortcuts ( const BaseContainer scut,
    Int32 idarray,
    Int32  maxarrayelements 
    )

    Finds all commands that are assigned to a shortcut.

    Parameters
    [in]scutThe shortcut to search for.
    [in]idarrayFilled with the found IDs. The caller owns the pointed array.
    [in]maxarrayelementsThe size of indexarray.
    Returns
    The number of shortcuts found.

    ◆ CheckCommandShortcut()

    Bool cinema::CheckCommandShortcut ( Int32  id,
    Int32  key,
    Int32  qual 
    )

    Checks if a shortcut key and qualifier are assigned to a command.

    Parameters
    [in]idThe plugin ID of the command.
    [in]keyThe shortcut key.
    [in]qualThe qualifier key.
    Returns
    true if the shortcut/qualifier is assigned, otherwise false.

    ◆ InsertCreateObject()

    void cinema::InsertCreateObject ( BaseDocument doc,
    BaseObject op,
    BaseObject activeobj = nullptr 
    )

    Adds op into document doc.
    This function takes care for modifiers to add the new object at a certain place in the hierarchy.
    For example if shift is pressed while a new object is created it will be inserted below the active object.

    Parameters
    [in]docThe current document.
    [in]opThe object to insert.
    [in]activeobjThe active object, or nullptr if no object is active.

    ◆ CopyToClipboard() [1/2]

    void cinema::CopyToClipboard ( const maxon::String text)

    Copies a string to the clipboard.

    Parameters
    [in]textThe string to copy.

    ◆ CopyToClipboard() [2/2]

    void cinema::CopyToClipboard ( BaseBitmap map,
    Int32  ownerid 
    )

    Copies a bitmap to the clipboard.

    Parameters
    [in]mapThe bitmap to copy. The caller owns the pointed bitmap.
    [in]owneridThe owner ID: CLIPBOARDOWNER

    ◆ GetStringFromClipboard()

    Bool cinema::GetStringFromClipboard ( String txt)

    Retrieves a string from the clipboard.

    Parameters
    [out]txttrue if a string could be retrieved from the clipboard, otherwise false.

    ◆ GetBitmapFromClipboard()

    Bool cinema::GetBitmapFromClipboard ( BaseBitmap map)

    Retrieves a bitmap from the clipboard.

    Parameters
    [out]mapThe bitmap to get. The caller owns the pointed bitmap.
    Returns
    true if a bitmap could be retrieved from the clipboard, otherwise false.

    ◆ GetClipboardType()

    CLIPBOARDTYPE cinema::GetClipboardType ( )

    Retrieves the type of the clipboard.

    Returns
    The type of the clipboard: CLIPBOARDTYPE

    ◆ GetC4DClipboardOwner()

    Int32 cinema::GetC4DClipboardOwner ( )

    Retrieves the owner ID of the clipboard.

    Returns
    The owner ID: CLIPBOARDOWNER

    ◆ GetCursorBitmap()

    const BaseBitmap* cinema::GetCursorBitmap ( Int32  type,
    Int32 hotspotx,
    Int32 hotspoty 
    )

    Private.

    ◆ CodeEditor_Open()

    Bool cinema::CodeEditor_Open ( BaseList2D obj,
    const maxon::Delegate< GeData(BaseList2D *obj, const BaseContainer &msg)> &  callback,
    const BaseContainer bc = BaseContainer() 
    )

    Opens the Cinema 4D code editor.

    Parameters
    [in]objThe object that the source belongs to. The caller owns the pointed object.
    [in]callbackA callback to set and retrieve the edited source code. The caller owns the pointed callback.
    [in]bcThe settings for the editor that will be opened: CODEEDITOR
    Returns
    true if the editor was opened, otherwise false.

    ◆ MinimalViewportSettingsCommand()

    void cinema::MinimalViewportSettingsCommand ( Int32  type)

    Private.

    ◆ IsAnimationRunning()

    Bool cinema::IsAnimationRunning ( const BaseDocument document)

    Checks if an animation is currently running.

    Parameters
    [in]documentThe currently active document.
    Returns
    True, if an animation is currently running.

    ◆ IsUVToolMode()

    Bool cinema::IsUVToolMode ( const BaseDocument document)

    Check if the current context is UV, if UV mode is selected or the UV Texture Editor is the last one used.

    Parameters
    [in]documentThe currently active document.
    Returns
    True if is UV mode, false otherwise.

    ◆ GetFormatDepth()

    Int32 cinema::GetFormatDepth ( Int32  format,
    Int32  depth 
    )

    Gets the format depth for a image saver and depth.

    Parameters
    [in]formatThe ID of the image saver.
    [in]depthDepth.
    Returns
    The depth of the format (8, 16 or 32).

    ◆ SizePixChr()

    Int32 cinema::SizePixChr ( Int32  pixels,
    Int32  chars 
    )

    Combines SizePix() and SizeChr() functions. The returned value is interpreted as a number of characters/lines plus a number of pixels.

    Note
    The number of characters for chars has to be multiplied by 10.
    For example if a size of 3 characters is needed, pass 3 * 10, or 30 for chars.
    Parameters
    [in]pixelsThe pixel dimension.
    [in]charsThe number of characters.
    Returns
    The size.

    ◆ SizePix()

    Int32 cinema::SizePix ( Int32  pixels)

    Bakes a pixel size so that it can be used to specify dialog control dimension.

    Parameters
    [in]pixelsThe pixel dimension.
    Returns
    The size.

    ◆ SizeChr()

    Int32 cinema::SizeChr ( Int32  chars)

    Bakes a character count so that it can be used to specify dialog control dimension.
    Calculates how many characters will fit in a control for widths, and how many standard lines will fit for heights.

    Note
    The number of characters for chars has to be multiplied by 10.
    For example if a size of 3 characters is needed, pass 3 * 10, or 30 for chars.
    Parameters
    [in]charsThe number of characters.
    Returns
    The size.

    ◆ MessageDialog() [1/4]

    void cinema::MessageDialog ( const maxon::String str)

    Opens a standard message dialog with an exclamation point icon and an OK button.

    Parameters
    [in]strThe message to show.

    ◆ MessageDialog() [2/4]

    void cinema::MessageDialog ( Int32  id)

    Opens a standard dialog with an exclamation point icon and an OK button.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object.

    ◆ MessageDialog() [3/4]

    void cinema::MessageDialog ( Int32  id,
    const maxon::String p1 
    )

    Opens a standard dialog with an exclamation point icon and an OK button.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object, including one phrase that is inserted at #'s in the string.
    [in]p1The phrase to insert.

    ◆ MessageDialog() [4/4]

    void cinema::MessageDialog ( Int32  id,
    const maxon::String p1,
    const maxon::String p2 
    )

    Opens a standard dialog with an exclamation point icon and an OK button.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object, including two phrases that are inserted at #'s in the string.
    [in]p1The first phrase to insert.
    [in]p2The second phrase to insert.

    ◆ QuestionDialog() [1/4]

    Bool cinema::QuestionDialog ( const maxon::String str)

    Opens a standard question dialog with a question mark icon and Yes/No buttons.

    Parameters
    [in]strThe message to show.
    Returns
    true if the user answered Yes, otherwise false.

    ◆ QuestionDialog() [2/4]

    Bool cinema::QuestionDialog ( Int32  id)

    Opens a standard question dialog with a question mark icon and Yes/No buttons.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object.
    Returns
    true if the user answered Yes, otherwise false.

    ◆ QuestionDialog() [3/4]

    Bool cinema::QuestionDialog ( Int32  id,
    const maxon::String p1 
    )

    Opens a standard question dialog with a question mark icon and Yes/No buttons.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object, including one phrase that is inserted at #'s in the string.
    [in]p1The phrase to insert.
    Returns
    true if the user answered Yes, otherwise false.

    ◆ QuestionDialog() [4/4]

    Bool cinema::QuestionDialog ( Int32  id,
    const maxon::String p1,
    const maxon::String p2 
    )

    Opens a standard question dialog with a question mark icon and Yes/No buttons.

    Parameters
    [in]idThe message to show, specified as a string ID in the global ::resource object, including two phrases that are inserted at #'s in the string.
    [in]p1The first phrase to insert.
    [in]p2The second phrase to insert.
    Returns
    true if the user answered Yes, otherwise false.

    ◆ GetInputEvent()

    Bool cinema::GetInputEvent ( Int32  askdevice,
    BaseContainer res 
    )

    Gets the next input event for a certain device from the event queue.
    If the return value is true, the container stored in res is like an input event message, otherwise no state was available.
    For a list of valid devices and channels, see Input Events.

    Parameters
    [in]askdeviceThe device to poll.
    [in]resThe result container.
    Returns
    true if an input event could be retrieved, otherwise false.

    ◆ GetInputState()

    Bool cinema::GetInputState ( Int32  askdevice,
    Int32  askchannel,
    BaseContainer res 
    )

    Polls a certain channel of a device for the current input state.
    If the return value is true, the container stored in res is like an input event message, otherwise no state was available.
    For a list of valid devices and channels, see Input Events.

    Parameters
    [in]askdeviceThe device to poll.
    [in]askchannelThe channel of the device.
    [in]resThe result container.
    Returns
    true if an input state could be retrieved, otherwise false.

    ◆ ShowPopupMenu()

    Int32 cinema::ShowPopupMenu ( CDialog *  cd,
    Int32  screenx,
    Int32  screeny,
    const BaseContainer bc,
    Int32  flags = POPUP_RIGHT|POPUP_EXECUTECOMMANDS|POPUP_ALLOW_FILTERING,
    Int32 res_mainid = nullptr 
    )

    Displays a popup menu.
    The menu is defined by adding string items sequentially to a base container. (The order the items are set in the container determines their order in the menu.)
    The ID of the string item determines its function:

    • A string with ID=0 gives a separator
      bc.InsData(0, String(""));
    • A string with ID=1 sets the name of the menu (used for sub-menus)
      bc.SetString(1, "Menu name");
    • IDs in the range 1000 to 899999 inserts a Cinema 4D command
      bc.SetString(id, "CMD");
      For a list of IDs, see the c4d_symbols.coh file. A special case is the IDM_CM_CLOSEWINDOW ID that will close the current dialog.
    • The same applies to plugin IDs of plugins that have a menu entry (everything above 1000000)
      bc.SetString(pluginid, "CMD");
    • The IDs that are left, between 900000 (FIRST_POPUP_ID) and 999999, can be used for custom menu items
      enum
      {
      FIRST_ITEM = FIRST_POPUP_ID,
      SECOND_ITEM,
      THIRD_ITEM
      };
      bc.SetString(FIRST_ITEM, "First item");
      bc.SetString(SECOND_ITEM, "Second item");
      bc.SetString(THIRD_ITEM, "Third item");
      #define FIRST_POPUP_ID
      Definition: c4d_gui.h:68
      Sub-menus are simply inserted as sub-containers
      enum
      {
      NEW_ENTRY = FIRST_POPUP_ID,
      INSERT_NEW,
      INSERT_DOC,
      INSERT_OBJ
      };
      BaseContainer mainmenu;
      mainmenu.SetString(NEW_ENTRY, "New");
      BaseContainer submenu;
      submenu.SetString(1, "Insert new");
      submenu.SetString(INSERT_DOC, "Document");
      submenu.SetString(INSERT_OBJ, "Object");
      mainmenu.SetContainer(INSERT_NEW, submenu);
    • Disabled and checked items are marked with flags at the end of the name
      bc.SetString(..., "Disabled&d&");
      bc.SetString(..., "Checked&c&");
      Parameters
      [in]cdThe internal parent dialog, or nullptr.
      [in]screenxThe popup X position in screen pixels, or MOUSEPOS to popup where the cursor is.
      [in]screenyThe popup Y position in screen pixels, or MOUSEPOS to popup where the cursor is.
      [in]bcThe base container with the menu items.
      [in]flagsThe popup menu flags: POPUP
      [in,out]res_mainidThe main id or nullptr if the id is returned normally by the function.
      Returns
      The ID of the selected item, or 0 if nothing was selected.
      Sometimes this is a a sub-id of a command, for instance if a command plugin returns a container with sub-items. In this case the main id is passed to res_mainid.

    ◆ RemoveLastCursorInfo()

    Bool cinema::RemoveLastCursorInfo ( LASTCURSORINFOFUNC  func)

    Sets the callback invoked when mouse cursor leaves a user area.

    Note
    Useful to remove any highlighted element on mouse over.
    Parameters
    [in]funcThe last mouse cursor info callback. It should simply send BFM_CURSORINFO_REMOVE to the user area for the mouse leave event.

    ◆ Shortcut2String() [1/2]

    String cinema::Shortcut2String ( Int32  shortqual,
    Int32  shortkey 
    )

    Converts a shortcut to a readable string.

    Parameters
    [in]shortqualThe shortcut qualifier.
    [in]shortkeyThe shortcut key.
    Returns
    The shortcut string.

    ◆ Shortcut2String() [2/2]

    String cinema::Shortcut2String ( const BaseContainer sc)

    Converts a shortcut to a readable string.

    Parameters
    [in]scThe shortcut container.
    Returns
    The shortcut string.

    ◆ GetGuiWorldColor()

    Vector cinema::GetGuiWorldColor ( Int32  cid)

    Gets a GUI color from its constant ID.

    Parameters
    [in]cidThe color ID. See COLOR constants.
    Returns
    The GUI color.

    ◆ GetIconCoordInfo()

    Bool cinema::GetIconCoordInfo ( Int32 id,
    const Char ident 
    )

    Converts an icon resource identity string into an ID.

    Parameters
    [in]idThe ID of the icon resource string.
    [in]identThe icon resource identity string. Look them up in the resource file for schemes.
    Returns
    true if the icon resource identity string was found, otherwise false.

    ◆ GetInterfaceIcon()

    Bool cinema::GetInterfaceIcon ( Int32  type,
    Int32  id_x,
    Int32  id_y,
    Int32  id_w,
    Int32  id_h,
    IconData d 
    )

    Retrieves the icon for an interface element.

    Parameters
    [in]typeThe icon type: INTERFACE_ICON_TYPE
    [in]id_xThe X position ID of the icon.
    [in]id_yThe Y position ID of the icon.
    [in]id_wThe width ID of the icon.
    [in]id_hThe height ID of the icon.
    [out]dAssigned the retrieved icon resource data.
    Returns
    The icon could be retrieved.

    ◆ GeIsTabletMode()

    Bool cinema::GeIsTabletMode ( )

    Returns true when the current/preferred input device is a graphic tablet.

    Since
    R20
    Returns
    True for tablet input.

    ◆ GetMouseMoveDelta()

    Float cinema::GetMouseMoveDelta ( )

    Retrieves the mouse move delta (threshold) depending on the input device.

    Since
    R19
    Returns
    The mouse move delta.

    ◆ SetBakeStatus()

    void cinema::SetBakeStatus ( Bool  state)

    Private.

    Since
    R16

    ◆ GetBakeStatus()

    Bool cinema::GetBakeStatus ( )

    Private.

    Since
    R16

    ◆ GetDnDFilename()

    Filename cinema::GetDnDFilename ( const BaseContainer msg,
    Int32  dragType,
    const void *  dragObj,
    Bool  texturesOnly,
    Bool  updateUsage,
    Bool  loadUrl 
    )

    GetDnDFilename extracts the Filename from the given drag and drop data returned by GetDragObject()

    Parameters
    [in]msgDrag and Drop message.
    [in]dragTypeDrag type returned by GetDragObject().
    [in]dragObjDrag object returned by GetDragObject().
    [in]texturesOnlyTrue to check for textures only.
    [in]updateUsageTrue to update the usage stats of the asset.
    [in]loadUrlTrue to show a modal progress dialog when files need to be downloaded.
    Returns
    Filename on success. Filename IsEmpty() if no data was found.

    ◆ InitThinkingParticles()

    Bool cinema::InitThinkingParticles ( )

    Must be called before Thinking Particles is used. The best way is to call it in PluginMessage():

    Bool PluginMessage(Int32 id, void *data)
    {
    switch (id)
    {
    {
    }
    break;
    // ...
    }
    return true;
    }
    #define C4DPL_STARTACTIVITY
    Sent to all plugins after all PluginStart() have been called.
    Definition: c4d_plugin.h:61
    Bool PluginMessage(Int32 id, void *data)
    Bool InitThinkingParticles()
    Definition: c4d_particles.h:1632
    Returns
    true if Thinking Particles initialization was successful, otherwise false.

    ◆ RegisterPluginHelpDelegate()

    Bool cinema::RegisterPluginHelpDelegate ( Int32  pluginId,
    PluginHelpDelegate  delegate 
    )

    Registers the delegate for plugin help support.

    Parameters
    [in]pluginIdA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]delegateThe help handler for this plugin.
    Returns
    true if successful, otherwise false.

    ◆ OpenHelpBrowser()

    void cinema::OpenHelpBrowser ( const maxon::String opType,
    const maxon::String baseType,
    const maxon::String group,
    const maxon::String property 
    )

    Opens the help browser for the indicated topic.

    Note
    All names are always uppercase.
    Parameters
    [in]opTypeThe object type name, for example "OATOM".
    [in]baseTypeThe name of the base object type that opType is derived from, usually the same as opType.
    [in]groupThe name of the group in the attribute manager, for example "ID_OBJECTPROPERTIES".
    [in]propertyThe name of the object property, for example "ATOMOBJECT_SINGLE".

    ◆ InstallLibrary()

    Bool cinema::InstallLibrary ( Int32  id,
    C4DLibrary lib,
    Int32  version,
    Int32  size 
    )

    Registers a library with Cinema 4D.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]libThe library structure to register. The caller owns the pointed structure.
    [in]versionThe library version.
    [in]sizeThe size of the structure passed to lib.
    Returns
    true if the library was registered, otherwise false.

    ◆ UninstallLibrary()

    Bool cinema::UninstallLibrary ( C4DLibrary lib,
    Int32  version,
    Int32  size 
    )

    Unregisters a library with Cinema 4D.

    Parameters
    [in]libThe library structure to unregister. The caller owns the pointed structure.
    [in]versionThe library version.
    [in]sizeThe size of the structure passed to lib.
    Returns
    true if the library was unregistered, otherwise false.

    ◆ CheckLibI()

    C4DLibrary* cinema::CheckLibI ( Int32  id,
    Int  offset,
    C4DLibrary **  store 
    )

    ◆ CheckLib()

    MAXON_ATTRIBUTE_FORCE_INLINE LIBCLASS* cinema::CheckLib ( Int32  id,
    Int  offset,
    LIBCLASS *&  store 
    )

    Retrieves a pointer to a library if it is installed.

    Parameters
    [in]idThe library plugin ID.
    [in]offsetPass LIBOFFSET(LIBRARY_CLASS, MEMBER_NAME), where LIBRARY_CLASS is a struct derived from C4DLibrary and MEMBER_NAME is a member to access.
    Example: LIBOFFSET(MyLib, MyFunction)
    [in]storePass a pointer to a global pointer that can be used as cache for the library address.
    CheckLib() will then use this address instead of looking it up each time.
    Returns
    The library, or nullptr if the requested offset is not valid.

    ◆ IsLibraryInstalled()

    Bool cinema::IsLibraryInstalled ( Int32  id)

    Checks if a library is installed.

    Parameters
    [in]idThe plugin ID of the library to check.
    Returns
    true if the library is installed, otherwise false.

    ◆ CheckCustomaDataTagLibrary()

    CustomaDataTagLibrary* cinema::CheckCustomaDataTagLibrary ( Int32  offset)

    ◆ MAXON_ENUM_LIST() [4/7]

    enum cinema::CUSTOMDATATAG_MODE cinema::MAXON_ENUM_LIST ( CUSTOMDATATAG_MODE  )

    ◆ xConvertToPolygons()

    Bool cinema::xConvertToPolygons ( BaseObject oroot,
    BaseObject destination,
    Int32  flags 
    )

    ◆ xConvertToPolygonGroups()

    Bool cinema::xConvertToPolygonGroups ( BaseObject oroot,
    BaseObject destination,
    Int32  flags 
    )

    ◆ xCenterAxis()

    Bool cinema::xCenterAxis ( BaseObject oroot)

    ◆ xFilterModelSpaceCurves()

    Bool cinema::xFilterModelSpaceCurves ( BaseObject oroot)

    ◆ mswap()

    const Matrix cinema::mswap ( Vector(0.0)  ,
    Vector(1., 0., 0.)  ,
    Vector(0., 0., 1.)  ,
    Vector(0., -1., 0.)   
    )

    ◆ NegZ()

    Vector cinema::NegZ ( Vector  value)

    ◆ MAXON_ENUM_FLAGS() [6/11]

    enum cinema::TASKSTATE cinema::MAXON_ENUM_FLAGS ( TASKSTATE  )

    ◆ IsNetRenderInstalled()

    Bool cinema::IsNetRenderInstalled ( )

    ◆ GetGlobalNetRenderService()

    NetRenderService* cinema::GetGlobalNetRenderService ( )

    ◆ GetMachineDescription()

    String cinema::GetMachineDescription ( const NetRenderService service,
    Machine m 
    )

    ◆ VerificationBitToString()

    String cinema::VerificationBitToString ( VERIFICATIONBIT  state)

    ◆ JobCommandToString()

    String cinema::JobCommandToString ( JOBCOMMAND  command)

    ◆ JobStateToString()

    String cinema::JobStateToString ( JOBSTATE  state)

    ◆ GetDebugStringOfMachine()

    String cinema::GetDebugStringOfMachine ( const Machine m)

    ◆ SetErrorLevel()

    void cinema::SetErrorLevel ( Bool  printDebugErrors,
    Bool  stackInErrors,
    Bool  locationInErrors 
    )

    ◆ NetSpecialEventAdd()

    MESSAGERESULT cinema::NetSpecialEventAdd ( NetRenderService service,
    const C4DUuid remoteUuid,
    const BaseContainer msg,
    Bool  forceConnect = false 
    )

    ◆ NetGeSyncMessage()

    MESSAGERESULT cinema::NetGeSyncMessage ( NetRenderService service,
    const C4DUuid remoteUuid,
    const BaseContainer msg,
    BaseContainer result,
    BaseThread bt = nullptr,
    Bool  forceConnect = false 
    )

    ◆ NetSendData()

    MESSAGERESULT cinema::NetSendData ( NetRenderService service,
    const C4DUuid remoteUuid,
    NetRenderBuffer data,
    NetRenderBuffer result,
    BaseThread bt = nullptr 
    )

    ◆ NetSendMessageToServer() [1/2]

    Bool cinema::NetSendMessageToServer ( NetRenderService service,
    const C4DUuid remoteUuid,
    const C4DUuid jobUuid,
    SERVERMESSAGE  type,
    const String messageString,
    Bool  doConsoleOutput = false,
    Int32  frameNumber = NOTOK 
    )

    ◆ NetSendMessageToServer() [2/2]

    Bool cinema::NetSendMessageToServer ( NetRenderService service,
    const C4DUuid remoteUuid,
    const C4DUuid jobUuid,
    SERVERMESSAGE  type,
    RENDERRESULT  res,
    const String messageString,
    Bool  doConsoleOutput = false,
    Int32  frameNumber = NOTOK 
    )

    ◆ NetRenderCacheGet()

    Bool cinema::NetRenderCacheGet ( NetRenderDocumentContext context,
    Bool  isServer,
    Int32  cacheID,
    void *&  data,
    Int32 size 
    )

    ◆ NetRenderCacheGetTask()

    Bool cinema::NetRenderCacheGetTask ( NetRenderDocumentContext context,
    Bool  isServer,
    Int32  cacheID,
    Int32 taskID,
    Int32 taskSubdivisions 
    )

    ◆ NetRenderCacheSendTask()

    Bool cinema::NetRenderCacheSendTask ( NetRenderDocumentContext context,
    Bool  isServer,
    Int32  cacheID,
    Int32  taskID,
    void *  data,
    Int32  size,
    Bool  progress 
    )

    ◆ NetRenderCacheProgress()

    Bool cinema::NetRenderCacheProgress ( NetRenderDocumentContext context,
    Int32  cacheID,
    Int32  lastIndex,
    void *&  data,
    Int32 size,
    BaseThread thread 
    )

    ◆ NetRenderCachePrepass()

    Bool cinema::NetRenderCachePrepass ( NetRenderDocumentContext context,
    Int32  cacheID,
    Bool completed 
    )

    ◆ NetRenderGetFileFromServer()

    Bool cinema::NetRenderGetFileFromServer ( NetRenderService context,
    const Filename sourcePathOrName,
    Filename result,
    BaseThread bt = nullptr 
    )

    ◆ NetRenderGetAssetFromServer()

    maxon::Result<void> cinema::NetRenderGetAssetFromServer ( NetRenderService service,
    const Filename sourcePathOrName,
    Filename result,
    SERVERMESSAGE  raiseServerMessageIfNotFound,
    maxon::ThreadInterface bt = nullptr 
    )

    ◆ _ReturnString()

    void* cinema::_ReturnString ( const maxon::String v)

    Internal.

    ◆ RegisterMaterialPlugin()

    Bool cinema::RegisterMaterialPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    Int32  disklevel 
    )

    Registers a material plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe node plugin info flags: PLUGINFLAG_MATERIAL PLUGINFLAG
    [in]gThe allocator for the material plugin. This is a pointer to a function that creates a new instance of MaterialData with NewObj().
    [in]descriptionThe name of the description resource file to use for the material plugin without .res extension, for example "Mmaterialname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the material plugin was registered, otherwise false.

    ◆ GeMemGetFreePhysicalMemoryEstimate()

    UInt cinema::GeMemGetFreePhysicalMemoryEstimate ( )

    Gets estimated free physical memory.

    Returns
    Estimated free physical memory.

    ◆ ClearMem()

    void cinema::ClearMem ( void *  d,
    Int  size,
    Int32  value = 0 
    )

    Clears a block of memory.

    Parameters
    [in]dAddress of the memory block to clear. The caller owns the pointed memory.
    [in]sizeSize in bytes of the block of memory to clear.
    [in]valueValue to clear the memory block with. Default to 0.

    ◆ CopyMem()

    void cinema::CopyMem ( const void *  s,
    void *  d,
    Int  size 
    )

    Copies a block of memory.

    Warning
    Parameters order is the opposite of memcpy()
    See also
    MemCopy()
    Parameters
    [in]sAddress of the source block of memory. The caller owns the pointed memory.
    [out]dAddress of the destination block of memory. The caller owns the pointed memory.
    [in]sizeSize in bytes of the block of memory to copy.

    ◆ MemCopy()

    void cinema::MemCopy ( void *  d,
    const void *  s,
    Int  size 
    )

    Copies a block of memory.

    Parameters
    [out]dAddress of the destination block of memory. The caller owns the pointed memory.
    [in]sAddress of the source block of memory. The caller owns the pointed memory.
    [in]sizeSize in bytes of the block of memory to copy.

    ◆ FillMemTypeTemplate()

    void cinema::FillMemTypeTemplate ( T *  data_ptr,
    Int  size,
    const U *  check_type,
    Int32  value 
    )

    Internal.

    ◆ ClearMemType()

    void cinema::ClearMemType ( T *  data_ptr,
    Int  cnt 
    )

    Clears a block of memory.
    THREADSAFE.

    Parameters
    [out]data_ptrAddress of the block of memory to clear. The caller owns the pointed memory.
    [in]cntNumber of elements to be filled with pattern (> 1 e.g. for arrays), can be 0.

    ◆ CopyMemType()

    void cinema::CopyMemType ( const T *  src_ptr,
    T *  dst_ptr,
    Int  cnt 
    )

    Copies a block of memory to another of the same kind.
    THREADSAFE

    Warning
    Source and destination must not overlap.
    Parameters
    [in]src_ptrAddress of the source block of memory to copy. The caller owns the pointed memory.
    [out]dst_ptrAddress of the destination block of memory to copy to. The caller owns the pointed memory.
    [in]cntNumber of elements to be copied (> 1 e.g. for arrays), can be 0.

    ◆ RegisterMessagePlugin()

    Bool cinema::RegisterMessagePlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    MessageData dat 
    )

    Registers a message plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    [in]infoThe info flags: PLUGINFLAG_MESSAGE PLUGINFLAG
    [in]datThe message data instance for the plugin. Cinema 4D takes over the ownership of the pointed message data.
    Returns
    true if the message plugin was registered, otherwise false.

    ◆ MAXON_ENUM_LIST() [5/7]

    ◆ WriteIpAddr()

    Bool cinema::WriteIpAddr ( const NetworkIpAddr addr,
    HyperFile hf 
    )

    ◆ ReadIpAddr()

    Bool cinema::ReadIpAddr ( NetworkIpAddr addr,
    HyperFile hf 
    )

    ◆ WriteIpAddrPort()

    Bool cinema::WriteIpAddrPort ( const NetworkIpAddrPort addr,
    HyperFile hf 
    )

    ◆ ReadIpAddrPort()

    Bool cinema::ReadIpAddrPort ( NetworkIpAddrPort addr,
    HyperFile hf 
    )

    ◆ OpenOutgoing() [1/2]

    NetworkIpConnection* cinema::OpenOutgoing ( const NetworkIpAddrPort adr,
    BaseThread thread = nullptr,
    Int  connectTimeout = 30,
    Int  sessionTimeout = 10,
    Bool  useNagleAlgorithm = true,
    Int error = nullptr 
    )

    Opens a connection. Supports IPv4.

    Parameters
    [in]adrThe destination address to connect to.
    [in]threadThe thread to use for the connection. The caller owns the pointed thread.
    [in]connectTimeoutThe timeout in seconds for the initial connection.
    [in]sessionTimeoutThe timeout in seconds for receive and send operations.
    [in]useNagleAlgorithmPass true to set the TCP/IP flag for TCP_NODELAY. For more information see http://msdn.microsoft.com/en-us/library/windows/desktop/ms740476(v=vs.85).aspx.
    [in]errorAssigned error status if the connection failed. A value different than 0 indicates failure.
    Returns
    The IP connection object. Must be freed with CloseConnection(). The caller owns the pointed NetworkIpConnection.

    ◆ OpenOutgoing() [2/2]

    NetworkIpConnection* cinema::OpenOutgoing ( const maxon::String adr,
    BaseThread thread = nullptr,
    Int  connectTimeout = 30,
    Int  sessionTimeout = 10,
    Bool  useNagleAlgorithm = true,
    Int error = nullptr 
    )

    Opens a connection. Supports IPv4.

    Parameters
    [in]adrThe destination address to connect to (IPv4 address or host name).
    [in]threadThe thread to use for the connection. The caller owns the pointed thread.
    [in]connectTimeoutThe timeout in seconds for the initial connection.
    [in]sessionTimeoutThe timeout in seconds for receive and send operations.
    [in]useNagleAlgorithmPass true to set the TCP/IP flag for TCP_NODELAY. For more information see http://msdn.microsoft.com/en-us/library/windows/desktop/ms740476(v=vs.85).aspx.
    [in]errorAssigned error status if the connection failed. A value different than 0 indicates failure.
    Returns
    The IP connection object. Must be freed with CloseConnection(). The caller owns the pointed NetworkIpConnection.

    ◆ BytesInInputBuffer()

    Int cinema::BytesInInputBuffer ( NetworkIpConnection ipc)

    Checks how many bytes are in the input buffer of an IP connection.

    Parameters
    [in]ipcThe IP connection to check. The caller owns the pointed NetworkIpConnection.
    Returns
    The number of bytes in the input buffer.

    ◆ RecvBytes()

    Int cinema::RecvBytes ( NetworkIpConnection ipc,
    void *  buf,
    Int  size 
    )

    Reads the bytes from the IP connection ipc to buf.

    Note
    RecvBytes() will try to fill the buffer completely. If not enough data is received, it will run into a timeout and return zero. To prevent this, use BytesInInputBuffer().
    Parameters
    [in]ipcThe IP connection to read from. The caller owns the pointed NetworkIpConnection.
    [in]bufThe buffer to read to. The caller owns the pointed buffer.
    [in]sizeThe size of the buffer buf.
    Returns
    The number of bytes read.

    ◆ SendBytes()

    Int cinema::SendBytes ( NetworkIpConnection ipc,
    const void *  buf,
    Int  size 
    )

    Sends the bytes from buf to the IP connection ipc.

    Parameters
    [in]ipcThe IP connection to send the bytes to. The caller owns the pointed NetworkIpConnection.
    [in]bufThe buffer to send from. The caller owns the pointed buffer.
    [in]sizeThe size of the buffer buf.
    Returns
    The number of bytes sent.

    ◆ OpenListener() [1/2]

    NetworkIpConnection* cinema::OpenListener ( const NetworkIpAddrPort adr,
    BaseThread thread,
    Int  sessionTimeout,
    Bool  dontwait,
    Int error 
    )

    Opens an IP listener.

    Parameters
    [in]adrThe IP address of the network interface to use for the listener.
    [in]threadThe thread to use for the connection. The caller owns the pointed thread.
    [in]sessionTimeoutThe time after which the listener closes an unresponsive connection.
    [in]dontwaitPass true to set the TCP/IP flag for TCP_NODELAY. For more information see http://msdn.microsoft.com/en-us/library/windows/desktop/ms740476(v=vs.85).aspx.
    [in]errorAssigned error status if the connection failed. A value different than 0 indicates failure.
    Returns
    The IP connection object for the listener. Must be freed with CloseConnection(). The caller owns the pointed NetworkIpConnection.

    ◆ OpenListener() [2/2]

    NetworkIpConnection* cinema::OpenListener ( const maxon::String adr,
    BaseThread thread,
    Int  sessionTimeout,
    Bool  useNagleAlgorithm,
    Int error 
    )

    Opens an IP listener.

    Parameters
    [in]adrThe IP address of the network interface to use for the listener.
    [in]threadThe thread to use for the connection. The caller owns the pointed thread.
    [in]sessionTimeoutThe time after which the listener closes an unresponsive connection.
    [in]useNagleAlgorithmPass true to set the TCP/IP flag for TCP_NODELAY. For more information see http://msdn.microsoft.com/en-us/library/windows/desktop/ms740476(v=vs.85).aspx.
    [in]errorAssigned error status if the connection failed. A value different than 0 indicates failure.
    Returns
    The IP connection object for the listener. Must be freed with CloseConnection(). The caller owns the pointed NetworkIpConnection.

    ◆ OpenWaitForIncoming()

    NetworkIpConnection* cinema::OpenWaitForIncoming ( NetworkIpConnection listener,
    BaseThread connection,
    Int error 
    )

    Waits for an incoming connection to listener.

    Parameters
    [in]listenerThe listener IP connection to wait for. Needs to be freed with GeIpCloseConnection(). The caller owns the pointed NetworkIpConnection.
    [in]connectionThe thread to use for the connection. The caller owns the pointed thread.
    [in]errorAssigned error status if the connection failed. A value different than 0 indicates failure.
    Returns
    The IP connection object for the waiting connection. Must be freed with CloseConnection(). The caller owns the pointed NetworkIpConnection.

    ◆ KillConnection()

    void cinema::KillConnection ( NetworkIpConnection *&  ipc)

    Kills an IP connection.

    Note
    Calls End() for the connection thread.
    Parameters
    [in]ipcThe IP connection to kill. The caller owns the pointed NetworkIpConnection.

    ◆ CloseConnection()

    void cinema::CloseConnection ( NetworkIpConnection *&  ipc)

    Closes and frees an IP connection.

    Parameters
    [in]ipcThe IP connection to close. Assigned nullptr afterward. The caller owns the pointed NetworkIpConnection.

    ◆ FillNodePlugin()

    void cinema::FillNodePlugin ( NODEPLUGIN *  np,
    Int32  info,
    DataAllocator g,
    BaseBitmap icon,
    Int32  disklevel 
    )

    Private.

    ◆ RegisterNodePlugin()

    Bool cinema::RegisterNodePlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    BaseBitmap icon,
    Int32  disklevel,
    Int32 fallback 
    )

    Registers a node plugin.

    Note
    Normally this function is not used, but rather the specific registration functions for each NodeData child class.
    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe node plugin info flags: PLUGINFLAG
    [in]gThe allocator for the node plugin. This is a pointer to a function that creates a new instance of NodeData with NewObj().
    [in]iconThe icon for the node. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    [in]fallbackPrivate.
    Returns
    true if the node plugin was registered, otherwise false.

    ◆ RegisterObjectPlugin() [1/2]

    Bool cinema::RegisterObjectPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel 
    )

    Registers an object plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe object plugin info flags: OBJECT PLUGINFLAG
    [in]gThe allocator for the object plugin. This is a pointer to a function that creates a new instance of ObjectData with NewObj().
    [in]descriptionThe name of the description resource file to use for the object plugin without .res extension, for example "Oobjectname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the object. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the object plugin was registered, otherwise false.

    ◆ RegisterObjectPlugin() [2/2]

    Bool cinema::RegisterObjectPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel,
    OBJECTCATEGORY  category 
    )

    Registers an object plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]infoThe object plugin info flags: OBJECT PLUGINFLAG
    [in]gThe allocator for the object plugin. This is a pointer to a function that creates a new instance of ObjectData with NewObj().
    [in]descriptionThe name of the description resource file to use for the object plugin without .res extension, for example "Oobjectname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the object. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    [in]categoryAllow to define the object's category. The object's category will affect how the object is displayed or selectable when changing the display or the selection filter.
    Returns
    true if the object plugin was registered, otherwise false.

    ◆ FillObjectPlugin()

    void cinema::FillObjectPlugin ( OBJECTPLUGIN *  np,
    DataAllocator npalloc,
    Int32  info,
    Int32  disklevel,
    BaseBitmap icon 
    )

    ◆ SendPainterCommand()

    void* cinema::SendPainterCommand ( Int32  command,
    BaseDocument doc,
    PaintTexture tex,
    BaseContainer bc 
    )

    Sends commands to BodyPaint.

    Parameters
    [in]commandThe command: PAINTER
    [in]docThe optional document for the operation.
    [in]texThe optional paint texture for the operation.
    [in]bcThe optional container for the operation: PAINTER
    Returns
    The BodyPaint window handle. Private.

    ◆ GetActiveUVSet()

    TempUVHandle* cinema::GetActiveUVSet ( BaseDocument doc,
    Int32  flags 
    )

    Retrieves the document's active UV set.

    Parameters
    [in]docThe document returning the active UV set.
    [in]flagsThe flags: GETACTIVEUVSET
    Returns
    A temporary handle to the active UV set, or nullptr if there is no active UV set. Has to be freed with FreeActiveUVSet().

    ◆ UpdateMeshUV()

    Bool cinema::UpdateMeshUV ( Bool  fullUpdate = false)

    Updates the mesh based on the UVW result of interactive unwrapping.

    Returns
    true if successful, otherwise false.

    ◆ FreeActiveUVSet()

    void cinema::FreeActiveUVSet ( TempUVHandle handle)

    Frees the active UV set.

    Parameters
    [in]handleThe temporary handle of the UV set to be freed.

    ◆ GetUVSeams()

    const EdgeBaseSelect* cinema::GetUVSeams ( const BaseObject obj)

    Deprecated. Use GetUVSeams2(obj, true) to have the same behavior as before, but most of the time you want the "checkUVSettings" parameter to be false. Gets the UV seam edges for obj.
    The edges are indexed by 4 * polygon + edge where polygon is the polygon index and edge is the edge index between 0 and 3.

    Note
    If the UV seams are disabled in the UV viewport, nullptr will be returned.
    Parameters
    [in]objThe object of the UV set.
    Returns
    The UV seam edges. The UV mesh owns the pointed base select.

    ◆ GetUVSeams2()

    const EdgeBaseSelect* cinema::GetUVSeams2 ( const BaseObject obj,
    Bool  checkUVSettings = false 
    )

    Gets the UV seam edges for obj.
    The edges are indexed by 4 * polygon + edge where polygon is the polygon index and edge is the edge index between 0 and 3.

    Parameters
    [in]objThe object of the UV set.
    [in]checkUVSettingsIf true and the UV seams are disabled in the UV viewport, nullptr will be return. If false, will always return the UV seams, without checking if the UV seams settings is enabled or not in the UV viewport.
    Returns
    The UV seam edges. The UV mesh owns the pointed base select.

    ◆ CallUVCommand()

    Bool cinema::CallUVCommand ( const Vector padr,
    Int32  PointCount,
    const CPolygon polys,
    Int32  lPolyCount,
    UVWStruct uvw,
    BaseSelect polyselection,
    BaseSelect pointselection,
    BaseObject op,
    Int32  mode,
    Int32  cmdid,
    const BaseContainer settings 
    )

    Calls UV commands.
    Example:

    TempUVHandle *handle = GetActiveUVSet(pDoc, GETACTIVEUVSET_ALL);
    if (!handle)
    return false;
    CallUVCommand(pPoints, lPointCount, pPolys, lPolyCount, pUVW, pPolySel, pPointSel,
    op, mode, UVCOMMAND_FIT_TO_CANVAS, BaseContainer());
    handle->SetUVW(pUVW);
    const wchar_t * mode
    Definition: fileutils.h:96
    #define GETACTIVEUVSET_ALL
    Combine all flags except the enable status and ignore UV view private option.
    Definition: c4d_painter.h:217
    #define UVCOMMAND_FIT_TO_CANVAS
    Fit UV To Canvas.
    Definition: c4d_painter.h:315
    Bool CallUVCommand(const Vector *padr, Int32 PointCount, const CPolygon *polys, Int32 lPolyCount, UVWStruct *uvw, BaseSelect *polyselection, BaseSelect *pointselection, BaseObject *op, Int32 mode, Int32 cmdid, const BaseContainer &settings)
    TempUVHandle * GetActiveUVSet(BaseDocument *doc, Int32 flags)
    Parameters
    [in]padrThe address of the points array.
    [in]PointCountThe number of points in padr array.
    [in]polysThe address of the polygons array.
    [in]lPolyCountThe number of polygons in polys array.
    [in]uvwThe address of the UV array.
    [in]polyselectionThe polygon selection.
    [in]pointselectionThe UV points selection.
    The points are indexed by 4 * polygon + point where polygon is the polygon index and point is the point index between 0 and 3.
    [in]opThe object of the UV set.
    [in]modeThe UV editing mode: EditorModes
    [in]cmdidThe UV command: UVCOMMAND
    [in]settingsThe optional settings for the UV command.
    Returns
    true if successful, otherwise false.

    ◆ IdentifyImage()

    Int32 cinema::IdentifyImage ( const Filename texpath)

    Identifies an image's file format.

    Parameters
    [in]texpathThe texture's file path.
    Returns
    The image's file format: FILTER

    ◆ BPSetupWizardWithParameters()

    Bool cinema::BPSetupWizardWithParameters ( BaseDocument doc,
    const BaseContainer settings,
    AtomArray objects,
    AtomArray material 
    )

    Runs BodyPaint paint wizard.

    Parameters
    [in]docThe document.
    [in]settingsThe settings for the paint wizard: AMSI
    [in]objectsAn array with the objects the paint wizard is using.
    [in]materialAn array with the materials the paint wizard is using.
    Returns
    true if successful, otherwise false.

    ◆ CalculateTextureSize()

    Bool cinema::CalculateTextureSize ( BaseDocument doc,
    AtomArray materials,
    TextureSize *&  sizes 
    )

    Calculates the texture size based on the geometry and the size of the UV polygons.

    Parameters
    [in]docThe document.
    [in]materialsAn array containing the materials the texture size calculation is applied to.
    [in]sizesAn array with the texture sizes, equals the number of materials. Must be freed with DeleteMem.
    Returns
    true if successful, otherwise false.

    ◆ GetAllStrings_AddTexture()

    Bool cinema::GetAllStrings_AddTexture ( const void *  msgdata,
    const BaseContainer d 
    )

    Private.

    ◆ PainterActivateChannel()

    void cinema::PainterActivateChannel ( Int32  channel,
    Bool  multi,
    Bool  enable 
    )

    Activates/deactivates paint channels.

    Parameters
    [in]channelThe paint channel: CHANNEL
    [in]multitrue for multi channel painting, false for single channel painting.
    [in]enabletrue to activate the paint channel, false to deactivate the paint channel.

    ◆ PainterCreateNewTextureDialog()

    PaintTexture* cinema::PainterCreateNewTextureDialog ( String result,
    Filename resultdirectory,
    Int32  channelid,
    BaseMaterial bmat 
    )

    Opens the texture creation dialog for a material.

    Parameters
    [out]resultFilled with the texture's name (e.g. the filename).
    [out]resultdirectoryThe directory of the texture.
    [in]channelidThe channel type: CHANNEL
    [in]bmatThe material of the texture.
    Returns
    The created paint texture if successful, otherwise nullptr. Cinema 4D owns the pointed paint texture.

    ◆ PainterGetBrush()

    maxon::Result<maxon::DrawportTextureInterface*> cinema::PainterGetBrush ( BaseDraw bd,
    PaintBrushData brushData 
    )

    ◆ CalcParticleMatrix()

    static Matrix cinema::CalcParticleMatrix ( Particle cp)
    static

    Calculates a particle matrix.
    This represents the position and direction of a particle as used when objects are aligned with a particle using the emitter Tangential option.

    Parameters
    [in]cpThe particle to get the matrix for. The caller owns the pointed particle.
    Returns
    The particle matrix.

    ◆ PluginStart()

    Bool cinema::PluginStart ( )

    Called when a plugin is loaded from Cinema 4D. Think of it as the equivalent to the usual main() function.
    Here register all the plugin types and initialize them.
    For example, the basics needed are:

    {
    if (!g_resource.Init())
    return false; // Do not start plugin without resource
    if (!RegisterMyPlugin())
    return false;
    return true;
    }
    GeResource g_resource
    Global resources for Cinema 4D.
    Bool PluginStart()
    Returns
    true if the plugin was loaded, otherwise false.

    ◆ PluginEnd()

    void cinema::PluginEnd ( )

    Called when the plugin is unloaded from Cinema 4D.
    Here free the plugin registrations and any resources which are not owned or already freed by other plugins (see PluginMessage()).
    To free complex structures from other modules see C4DPL_ENDACTIVITY::
    For example:

    void PluginEnd()
    {
    FreeMyPlugin();
    }
    void PluginEnd()

    ◆ PluginMessage()

    Bool cinema::PluginMessage ( Int32  id,
    void *  data 
    )

    Called to receive plugin messages.
    These can either be from Cinema 4D or from other plugins via GePluginMessage(). Here is an example:

    Bool PluginMessage(Int32 id, void *data)
    {
    switch (id)
    {
    return true;
    case MY_MESSAGE:
    ...
    return true;
    }
    return false;
    }
    #define SetPluginPriority(data, i)
    Definition: c4d_plugin.h:197
    #define C4DPL_INIT_PRIORITY_PLUGINS
    Base priority for plugins.
    Definition: c4d_plugin.h:55
    #define C4DMSG_PRIORITY
    Called to query plugins about their loading time priority. Answer with SetPluginPriority(),...
    Definition: c4d_plugin.h:37
    Parameters
    [in]idThe message ID. Built-in ones are: C4DPL_MESSAGES
    [in]dataThe message data.
    Returns
    true if the message was consumed, otherwise false.

    ◆ Matrix64ToHPB()

    Vector64 cinema::Matrix64ToHPB ( const Matrix64 m)

    Calculates Euler angles from matrix m.

    Parameters
    [in]mThe rotation matrix.
    Returns
    The HPB.

    ◆ LHPBToMatrix()

    Matrix64 cinema::LHPBToMatrix ( const Vector64 w)

    A double precision version of HPBToMatrix().

    Parameters
    [in]wThe HPB.
    Returns
    The matrix calculated from the HPB rotations in w.

    ◆ GeLoadString() [1/6]

    const String& cinema::GeLoadString ( Int32  id)

    Loads a string from the plugins global resource file.

    Parameters
    [in]idThe ID of the string to get.
    Returns
    The string that matched the passed id.

    ◆ GeLoadString() [2/6]

    String cinema::GeLoadString ( Int32  id,
    const maxon::String p1 
    )

    Loads a string and replace the '#' with the placeholder string.

    Note
    In Cinema 4D there is a convention that in strings '#' is a placeholder for dynamic parts (this allows to translate a whole sentence as sentence structure and word placement may be reverted in other languages).
    For example if the string is: "loading of file '#' failed", then the actual filename can be passed as p1.
    Parameters
    [in]idThe ID of the string to get.
    [in]p1The string to insert into the placeholder.
    Returns
    The completed string.

    ◆ GeLoadString() [3/6]

    String cinema::GeLoadString ( Int32  id,
    const maxon::String p1,
    const maxon::String p2 
    )

    Loads a string and replace the '#' placeholders with the appropriate string.

    Note
    In Cinema 4D there is a convention that in strings '#' is a placeholder for dynamic parts (this allows to translate a whole sentence as sentence structure and word placement may be reverted in other languages).
    For example if the string is: "loading of file '#' failed", then the actual filename can be passed as p1.
    Parameters
    [in]idThe ID of the string to get.
    [in]p1The string to insert into the first placeholder.
    [in]p2The string to insert into the second placeholder.
    Returns
    The completed string.

    ◆ GeLoadString() [4/6]

    String cinema::GeLoadString ( Int32  id,
    const maxon::String p1,
    const maxon::String p2,
    const maxon::String p3 
    )

    Loads a string and replace the '#' placeholders with the appropriate string.

    Note
    In Cinema 4D there is a convention that in strings '#' is a placeholder for dynamic parts (this allows to translate a whole sentence as sentence structure and word placement may be reverted in other languages).
    For example if the string is: "loading of file '#' failed", then the actual filename can be passed as p1.
    Parameters
    [in]idThe ID of the string to get.
    [in]p1The string to insert into the first placeholder.
    [in]p2The string to insert into the second placeholder.
    [in]p3The string to insert into the third placeholder.
    Returns
    The completed string.

    ◆ GeLoadString() [5/6]

    String cinema::GeLoadString ( Int32  id,
    const maxon::String p1,
    const maxon::String p2,
    const maxon::String p3,
    const maxon::String p4 
    )

    Loads a string and replace the '#' placeholders with the appropriate string.

    Note
    In Cinema 4D there is a convention that in strings '#' is a placeholder for dynamic parts (this allows to translate a whole sentence as sentence structure and word placement may be reverted in other languages).
    For example if the string is: "loading of file '#' failed", then the actual filename can be passed as p1.
    Parameters
    [in]idThe ID of the string to get.
    [in]p1The string to insert into the first placeholder.
    [in]p2The string to insert into the second placeholder.
    [in]p3The string to insert into the third placeholder.
    [in]p4The string to insert into the fourth placeholder.
    Returns
    The completed string.

    ◆ GeLoadString() [6/6]

    String cinema::GeLoadString ( Int32  id,
    const maxon::String p1,
    const maxon::String p2,
    const maxon::String p3,
    const maxon::String p4,
    const maxon::String p5 
    )

    Loads a string and replace the '#' placeholders with the appropriate string.

    Note
    In Cinema 4D there is a convention that in strings '#' is a placeholder for dynamic parts (this allows to translate a whole sentence as sentence structure and word placement may be reverted in other languages).
    For example if the string is: "loading of file '#' failed", then the actual filename can be passed as p1.
    Parameters
    [in]idThe ID of the string to get.
    [in]p1The string to insert into the first placeholder.
    [in]p2The string to insert into the second placeholder.
    [in]p3The string to insert into the third placeholder.
    [in]p4The string to insert into the fourth placeholder.
    [in]p5The string to insert into the fifth placeholder.
    Returns
    The completed string.

    ◆ RegisterDescription()

    Bool cinema::RegisterDescription ( Int32  id,
    const maxon::String idstr,
    LocalResource *  res = nullptr 
    )

    Registers a description for a plugin ID. This is not needed for plugin types whose Register() functions have a description parameter.

    Parameters
    [in]idThe plugin ID. If this is a standalone description, use a unique ID.
    [in]idstrThe name of the description resource file to use for the plugin without .res extension, for example "registered".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions.
    See Description Resource for more information.
    [in]resPass this to search in a specific resource class. Otherwise the default path is used.
    Returns
    true if the description was registered, otherwise false.

    ◆ GetMenuResource()

    BaseContainer* cinema::GetMenuResource ( const maxon::String menuname)

    Gets the menu container of a main menu.

    Parameters
    [in]menunameThe main menu name, e.g. "M_EDITOR" (the same name as on disk or that can be seen in the Menu Editor).
    Returns
    The menu container: MENURESOURCE

    ◆ SearchMenuResource()

    Bool cinema::SearchMenuResource ( const BaseContainer bc,
    const maxon::String searchstr 
    )

    Searches a menu container for a certain plugin command (which is a string identifier, for example "PLUGIN_CMD_1000472").

    Parameters
    [in]bcThe menu container to search. The caller owns the pointed container.
    [in]searchstrThe search string.
    Returns
    true if the command was found, otherwise false.

    ◆ SearchPluginMenuResource()

    const GeData* cinema::SearchPluginMenuResource ( const maxon::String identifier = "IDS_EDITOR_PIPELINE"_s)

    Searches for the "Extensions" main menu category in "M_EDITOR".

    Parameters
    [in]identifierThe menu identifier.
    Returns
    The found menu container, or nullptr. Cinema 4D owns the pointed data.

    ◆ SearchPluginSubMenuResource()

    const GeData* cinema::SearchPluginSubMenuResource ( const maxon::String identifier = "IDS_EDITOR_PIPELINE"_s,
    BaseContainer bc = nullptr 
    )

    Searches for the "Extensions" main menu category in "M_EDITOR" or optionally a sub-menu specified by bc.

    Parameters
    [in]identifierThe menu identifier.
    [in]bcThe sub-menu container.
    Returns
    The found menu container, or nullptr. Cinema 4D owns the pointed data.

    ◆ UpdateMenus()

    void cinema::UpdateMenus ( )

    Forces a menu update.

    Note
    Not necessary when reacting to C4DPL_BUILDMENU.

    ◆ FreeResource()

    void cinema::FreeResource ( )

    Private.

    ◆ RegisterSceneHookPlugin()

    Bool cinema::RegisterSceneHookPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    Int32  priority,
    Int32  disklevel 
    )

    Registers a scene hook plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe scene hook plugin info flags: PLUGINFLAG_SCENEHOOK PLUGINFLAG
    [in]gThe allocator for the scene hook plugin. This is a pointer to a function that creates a new instance of SceneHookData with NewObj().
    [in]priorityThe interaction priority (Draw/MouseInput/KeyboardInput/GetCursorInfo).
    Note
    Draw function from a SceneHookData with a lower priority will be called after and could draw over SceneHookData called with higher priority. @node AddToExecution have to be used to change the SceneHookData::Execute priority.
    Parameters
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the scene hook plugin was registered, otherwise false.

    ◆ CALC_TEXINFO()

    Int32 cinema::CALC_TEXINFO ( Int32  texflag,
    Int32  channel 
    )

    Inserts channel information into the texture flags.

    Parameters
    [in]texflagThe texture flags.
    [in]channelThe texture channel: CHANNEL
    Returns
    The new texture flags.

    ◆ CALC_TEXINFO_BUMP()

    Int32 cinema::CALC_TEXINFO_BUMP ( Int32  texflag,
    Int32  channel,
    Int32  sample 
    )

    Inserts channel and bump sample information into the texture flags.

    Parameters
    [in]texflagThe texture flags.
    [in]channelThe texture channel: CHANNEL
    [in]sampleThe bump sample:
    • 0 Left.
    • 1 Right.
    • 2 Above.
    • 3 Below.
    Returns
    The new texture flags.

    ◆ BasicTransformColor() [1/3]

    Vector64 cinema::BasicTransformColor ( const Vector64 input,
    COLORSPACETRANSFORMATION  colortransformation 
    )

    Transforms a color along one of the basic transformation paths independent of the OCIO settings of a document.

    Supported are LINEAR_TO_VIEW, SRGB_TO_VIEW, LINEAR_TO_SRGB, and SRGB_TO_LINEAR of COLORSPACETRANSFORMATION. To convert along any other paths, one must retrieve an OcioConverter using BaseDocument::GetBasicColorConverter or BaseDocument::GetColorConverterForActiveDocument.

    Note
    Passing any other transformation symbol than the supported ones will return the unmodified input color.
    Parameters
    [in]inputThe color to transform.
    [in]colortransformationThe transform path to transform #input along.
    Returns
    The transformed color.

    ◆ BasicTransformColor() [2/3]

    maxon::Color64 cinema::BasicTransformColor ( const maxon::Color64 input,
    COLORSPACETRANSFORMATION  colortransformation 
    )

    Transforms a color along one of the basic transformation paths independent of the OCIO settings of a document.

    Supported are LINEAR_TO_VIEW, SRGB_TO_VIEW, LINEAR_TO_SRGB, and SRGB_TO_LINEAR of COLORSPACETRANSFORMATION. To convert along any other paths, one must retrieve an OcioConverter using BaseDocument::GetBasicColorConverter or BaseDocument::GetColorConverterForActiveDocument.

    Note
    Passing any other transformation symbol than the supported ones will return the unmodified input color.
    Parameters
    [in]inputThe color to transform.
    [in]colortransformationThe transform path to transform #input along.
    Returns
    The transformed color.

    ◆ BasicTransformColor() [3/3]

    maxon::Color32 cinema::BasicTransformColor ( const maxon::Color32 input,
    COLORSPACETRANSFORMATION  colortransformation 
    )

    Transforms a color along one of the basic transformation paths independent of the OCIO settings of a document.

    Supported are LINEAR_TO_VIEW, SRGB_TO_VIEW, LINEAR_TO_SRGB, and SRGB_TO_LINEAR of COLORSPACETRANSFORMATION. To convert along any other paths, one must retrieve an OcioConverter using BaseDocument::GetBasicColorConverter or BaseDocument::GetColorConverterForActiveDocument.

    Note
    Passing any other transformation symbol than the supported ones will return the unmodified input color.
    Parameters
    [in]inputThe color to transform.
    [in]colortransformationThe transform path to transform #input along.
    Returns
    The transformed color.

    ◆ BasicTransformColors()

    void cinema::BasicTransformColors ( Vector64 v,
    Int  count,
    COLORSPACETRANSFORMATION  colorSpaceTransformation 
    )

    Transforms an array of colors along one of the basic transformation paths independent of the OCIO settings of a document.

    Supported are LINEAR_TO_VIEW, SRGB_TO_VIEW, LINEAR_TO_SRGB, and SRGB_TO_LINEAR of COLORSPACETRANSFORMATION. To convert along any other paths, one must retrieve an OcioConverter using BaseDocument::GetBasicColorConverter or BaseDocument::GetColorConverterForActiveDocument.

    Note
    Passing any other transformation symbol than the supported ones will return the unmodified input colors.
    Parameters
    [in]vThe color array to transform.
    [in]countNumber of elements to transform.
    [in]colorSpaceTransformationThe transform path to transform elements in v along.

    ◆ RegisterShaderPlugin()

    Bool cinema::RegisterShaderPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    Int32  disklevel 
    )

    Registers a shader plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe node plugin info flags: PLUGINFLAG_MATERIAL PLUGINFLAG
    [in]gThe allocator for the shader plugin. This is a pointer to a function that creates a new instance of ShaderData with NewObj().
    [in]descriptionThe name of the description resource file to use for the material plugin without .res extension, for example "Xshadername".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the shader plugin was registered, otherwise false.

    ◆ ToString() [2/4]

    maxon::String cinema::ToString ( const String val,
    const maxon::FormatStatement formatStatement,
    maxon::Bool  checkDatatype = false 
    )

    ◆ MaxonConvert() [3/9]

    const String & MaxonConvert ( const maxon::String val)

    ◆ MaxonConvert() [4/9]

    String MaxonConvert ( maxon::String &&  val)

    ◆ MaxonConvert() [5/9]

    const maxon::String & MaxonConvert ( const String val)

    ◆ MaxonConvert() [6/9]

    maxon::String MaxonConvert ( String &&  val)

    ◆ operator==() [2/5]

    Bool cinema::operator== ( const String left,
    const String right 
    )

    Checks if the strings are equal. Deprecated. Use maxon::String::Compare(...).

    Note
    The comparison is done alphanumerically and case-sensitive.
    Parameters
    [in]leftThe left-hand operand string.
    [in]rightThe right-hand operand string.
    Returns
    true if the strings are equal, otherwise false.

    ◆ operator==() [3/5]

    Bool cinema::operator== ( const String left,
    const Char right 
    )

    ◆ operator==() [4/5]

    Bool cinema::operator== ( const String left,
    const maxon::String right 
    )

    ◆ operator==() [5/5]

    Bool cinema::operator== ( const maxon::String left,
    const String right 
    )

    ◆ operator!=() [2/5]

    Bool cinema::operator!= ( const String left,
    const String right 
    )

    Checks if two strings are different. Deprecated. Use maxon::String::Compare(...).

    Note
    The comparison is done alphanumerically and case-sensitive.
    Parameters
    [in]leftThe left-hand operand string.
    [in]rightThe right-hand operand string.
    Returns
    true if the two strings are different, otherwise false.

    ◆ operator!=() [3/5]

    Bool cinema::operator!= ( const String left,
    const maxon::String right 
    )

    ◆ operator!=() [4/5]

    Bool cinema::operator!= ( const maxon::String left,
    const String right 
    )

    ◆ operator!=() [5/5]

    Bool cinema::operator!= ( const String left,
    const Char right 
    )

    ◆ operator<() [2/2]

    Bool cinema::operator< ( const String left,
    const String right 
    )

    Compares the strings to see if the the left-hand string is less than the right-hand string. Deprecated. Use maxon::String::Compare(...).

    Note
    The comparison is done alphanumerically and case-sensitive.
    Parameters
    [in]leftThe left-hand operand string.
    [in]rightThe right-hand operand string.
    Returns
    The result of the comparison.

    ◆ RegisterTagPlugin()

    Bool cinema::RegisterTagPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    BaseBitmap icon,
    Int32  disklevel 
    )

    Registers a tag plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe node plugin info flags: TAG PLUGINFLAG
    [in]gThe allocator for the tag plugin. This is a pointer to a function that creates a new instance of TagData with NewObj().
    [in]descriptionThe name of the description resource file to use for the material plugin without .res extension, for example "Ttagname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]iconThe icon for the tag. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    Returns
    true if the tag plugin was registered, otherwise false.

    ◆ FillTagPlugin()

    void cinema::FillTagPlugin ( TAGPLUGIN *  np,
    DataAllocator npalloc,
    Int32  info,
    Int32  disklevel,
    BaseBitmap icon 
    )

    ◆ GeGetCurrentThreadCount()

    Int32 cinema::GeGetCurrentThreadCount ( )

    Retrieves the number of threads being used for the current (render) context.

    Note
    This might be smaller than the actual CPU core or thread count if the user selected a custom number of render threads.
    Returns
    The number of threads being used for the current context.

    ◆ GeThreadLock()

    void cinema::GeThreadLock ( )

    A global semaphore. When this is locked, any other thread trying to acquire the lock will have to wait. Other threads will continue. Deprecated.

    Warning
    As this blocks all threads it should only be used if and when necessary, a local semaphore is a more elegant and efficient solution to multiple thread data access.

    ◆ GeThreadUnlock()

    void cinema::GeThreadUnlock ( )

    Continues blocked threads after a call to GeThreadLock(). Deprecated.

    ◆ IdentifyThread()

    THREADTYPE cinema::IdentifyThread ( BaseThread bt)

    Identifies the type of a thread.

    Parameters
    [in]btThe thread to identify. The caller owns the pointed thread.
    Returns
    The thread type: THREADTYPE

    ◆ GeGetCurrentThreadId()

    UInt32 cinema::GeGetCurrentThreadId ( )

    Retrieves a unique ID for the current thread.

    Note
    Usually you do not have to care about this.
    Returns
    The unique ID for the current thread.

    ◆ GeGetCurrentThread()

    BaseThread* cinema::GeGetCurrentThread ( )

    Retrieves the current thread.

    Returns
    The current thread.

    ◆ GeGetDummyThread()

    BaseThread* cinema::GeGetDummyThread ( )

    Returns a dummy thread (TestBreak() will always return false).

    Since
    R17.032
    Returns
    A pointer to a dummy thread (guaranteed to be valid).

    ◆ GeGetEscTestThread()

    BaseThread* cinema::GeGetEscTestThread ( )

    Returns a dummy thread for escape key testing (TestBreak() will return true, when the user presses the Esc key).

    Since
    R17.032
    Returns
    A pointer to an escape key test thread (guaranteed to be valid).

    ◆ MaxonConvert() [7/9]

    maxon::ThreadRef cinema::MaxonConvert ( BaseThread thread)

    ◆ MaxonConvert() [8/9]

    BaseThread* cinema::MaxonConvert ( const maxon::ThreadRef thread)

    ◆ MaxonConvert() [9/9]

    BaseThread* cinema::MaxonConvert ( const maxon::ThreadInterface thread)

    ◆ MAXON_ENUM_FLAGS() [7/11]

    enum cinema::VERTEXCOLOR_DISPLAYMODE cinema::MAXON_ENUM_FLAGS ( VERTEXCOLOR_DISPLAYMODE  )

    ◆ GetToolData() [1/2]

    BaseContainer* cinema::GetToolData ( BaseDocument doc,
    Int32  pluginid,
    Bool  create = true 
    )

    Gets the data container for the tool with ID pluginid.

    Parameters
    [in]docThe document to get the settings for. The caller owns the pointed document.
    [in]pluginidThe plugin ID of the tool to get the data for.
    [in]createIf true, the container is created if it does not exist.
    Returns
    The tool data container. Cinema 4D owns the pointed container.

    ◆ GetToolData() [2/2]

    const BaseContainer* cinema::GetToolData ( const BaseDocument doc,
    Int32  pluginid,
    Bool  create = true 
    )

    Gets the data container for the tool with ID pluginid.

    Parameters
    [in]docThe document to get the settings for. The caller owns the pointed document.
    [in]pluginidThe plugin ID of the tool to get the data for.
    [in]createIf true, the container is created if it does not exist.
    Returns
    The tool data container. Cinema 4D owns the pointed container.

    ◆ GetToolScale()

    Float cinema::GetToolScale ( BaseDraw bd,
    AtomArray arr,
    Int32  all,
    Int32  mode = -1 
    )

    Retrieves the scale between the local size of the objects in arr and their screen size in bd. The scale is quantized to a power of 10.
    For example:

    Object size (units) Screen size (px) Scale

    100

    100

    1

    100

    900

    1

    100

    1001

    0.1

    100

    10

    10

    Note
    Useful to make mouse movements relative to the view size.
    Parameters
    [in]bdThe view to check the scale in. The caller owns the pointed base draw.
    [in]arrThe array with objects to check. The caller owns the pointed array.
    [in]allIf true all points are used for the calculation. If false the selection is used. If NOTOK the function checks if something is selected.
    [in]modeNOTOK to use the bounding box (default) or Mpoints/ Medges/Mpolygons.
    Returns
    The calculated scale.

    ◆ RegisterToolPlugin()

    Bool cinema::RegisterToolPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    BaseBitmap icon,
    const maxon::String help,
    ToolData dat 
    )

    Registers a tool plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe tool plugin info flags: PLUGINFLAG_TOOL PLUGINFLAG
    [in]iconThe icon for the tool. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    [in]helpThe tool tips and status bar help text for the tool.
    When using strings it is advised to use the resources string (.str) files and the GeLoadString() function.
    This keeps the plugin easy to localize for any language to support and makes full use of the language features of Cinema 4D.
    [in]datThe tool data instance for the plugin. Cinema 4D takes over the ownership of the pointed tool data.
    Returns
    true if the tool plugin was registered, otherwise false.

    ◆ GetOptimalAngle()

    Vector cinema::GetOptimalAngle ( const Vector hpb_old,
    const Vector hpb_new,
    ROTATIONORDER  order 
    )

    Modifies hpb_new so that the "distance" to the last angle hpb_old is at minimum.

    Note
    Helps to avoid HPB singularity effects.
    Parameters
    [in]hpb_oldThe old HPB.
    [in]hpb_newThe new HPB.
    [in]orderThe rotation order.
    Returns
    The optimal angle.

    ◆ PointLineDistance()

    Vector cinema::PointLineDistance ( const Vector p0,
    const Vector v,
    const Vector p 
    )

    Calculates the distance from a point to a line.

    Parameters
    [in]p0The starting point of the line.
    [in]vThe line vector.
    [in]pThe point.
    Returns
    The point-line vector.

    ◆ PointLineSegmentDistance()

    Float cinema::PointLineSegmentDistance ( const Vector segmentPoint1,
    const Vector segmentPoint2,
    const Vector pos,
    Vector intersectionPoint = nullptr,
    Float lineOffset = nullptr 
    )

    Calculates the distance from a point to a line segment between two points.

    Since
    R17.032
    Parameters
    [in]segmentPoint1The line segments first point.
    [in]segmentPoint2The line segments second point.
    [in]posThe point to test against the line segment.
    [out]intersectionPointOptional, if non-null the intersection point on the segment.
    [out]lineOffsetOptional, if non-null, the offset along the segment of the intersection point.
    Returns
    A distance between the point and the line segment.

    ◆ PointLineSegmentDistance2D()

    Float cinema::PointLineSegmentDistance2D ( const Vector segmentPoint1,
    const Vector segmentPoint2,
    const Vector pos,
    Vector intersectionPoint = nullptr,
    Float lineOffset = nullptr 
    )

    Calculates the distance from a point to a line segment between two points in 2D ignoring the Z value.

    Since
    R17.032
    Parameters
    [in]segmentPoint1The line segments first point.
    [in]segmentPoint2The line segments second point.
    [in]posThe point to test against the line segment.
    [out]intersectionPointOptional, if non-null the intersection point on the segment.
    [out]lineOffsetOptional, if non-null, the offset along the segment of the intersection point.
    Returns
    A distance between the point and the line segment.

    ◆ ReflectRay()

    Vector64 cinema::ReflectRay ( const Vector64 v,
    const Vector64 n 
    )

    Finds the ray vector after a reflection on a surface normal.

    Parameters
    [in]vThe incoming ray.
    [in]nThe surface normal.
    Returns
    The reflected ray.

    ◆ SphereLineIntersection()

    Bool cinema::SphereLineIntersection ( const Vector linePoint1,
    const Vector linePoint2,
    const Vector sphereCenter,
    Float  sphereRadius,
    Float intersection1 = nullptr,
    Float intersection2 = nullptr,
    Vector hitPoint1 = nullptr,
    Vector hitPoint2 = nullptr 
    )

    Calculates where the intersection points are between a line and a sphere in 3D space. since R16

    Parameters
    [in]linePoint1The first point of the line.
    [in]linePoint2The second point of the line.
    [in]sphereCenterThe center of the sphere.
    [in]sphereRadiusThe radius of the sphere.
    [out]intersection1(optional) Assigned the first intersection point (lowest) as an offset between linePoint1 and linePoint2
    [out]intersection2(optional) Assigned the second intersection point (highest) as an offset between linePoint1 and linePoint2
    [out]hitPoint1(optional) Assigned the actual 3D point where the line first intersects (enters) the sphere.
    [out]hitPoint2(optional) Assigned the actual 3D point where the line subsequently intersects (exits) the sphere.
    Returns
    Whether the line segment passed intersected the sphere or not.

    ◆ CircleLineIntersection()

    Bool cinema::CircleLineIntersection ( const Vector linePoint1,
    const Vector linePoint2,
    const Vector circleCenter,
    Float  circleRadius,
    Float intersection1 = nullptr,
    Float intersection2 = nullptr,
    Vector hitPoint1 = nullptr,
    Vector hitPoint2 = nullptr 
    )

    Calculates where the intersection points are between a line and a circle in 2D space (although Z will also be calculated on the resulting hit points) since R16

    Parameters
    [in]linePoint1The first point of the line.
    [in]linePoint2The second point of the line.
    [in]circleCenterThe center of the circle.
    [in]circleRadiusThe radius of the circle.
    [out]intersection1(optional) Assigned the first intersection point (lowest) as an offset between linePoint1 and linePoint2
    [out]intersection2(optional) Assigned the second intersection point (highest) as an offset between linePoint1 and linePoint2
    [out]hitPoint1(optional) Assigned the actual point where the line first intersects (enters) the circle, Z may also be calculated.
    [out]hitPoint2(optional) Assigned the actual point where the line subsequently intersects (exits) the circle, Z may also be calculated.
    Returns
    Whether the line segment passed intersected the circle or not.

    ◆ SphereSegmentIntersection()

    Bool cinema::SphereSegmentIntersection ( const Vector linePoint1,
    const Vector linePoint2,
    const Vector sphereCenter,
    Float  sphereRadius,
    maxon::BaseArray< SegmentSphereIntersectionData > &  intersections 
    )

    Calculates where the intersection points are between a segment (a portion of a line) and a sphere in 3D space. since R16

    Parameters
    [in]linePoint1The first point (start) of the segment.
    [in]linePoint2The second point (end) of the segment.
    [in]sphereCenterThe center of the sphere.
    [in]sphereRadiusThe radius of the sphere.
    [out]intersectionsAssigned the SegmentSphereIntersectionData hit-points.
    Returns
    Whether the line segment passed intersected the sphere or not.

    ◆ CircleSegmentIntersection()

    Bool cinema::CircleSegmentIntersection ( const Vector linePoint1,
    const Vector linePoint2,
    const Vector circleCenter,
    Float  circleRadius,
    maxon::BaseArray< SegmentSphereIntersectionData > &  intersections 
    )

    Calculates where the intersection points are between a segment (a portion of a line) and a circle in 2D space (although Z will be calculated for any resulting hit points) since R16

    Parameters
    [in]linePoint1The first point (start) of the segment.
    [in]linePoint2The second point (end) of the segment.
    [in]circleCenterThe center of the circle.
    [in]circleRadiusThe radius of the circle.
    [out]intersectionsAssigned the SegmentSphereIntersectionData hit-points.
    Returns
    Whether the line segment passed intersected the circle or not.

    ◆ RGBToHSV()

    Vector cinema::RGBToHSV ( const Vector col)

    Converts RGB into the HSV color space.

    Parameters
    [in]colThe RGB color to convert.
    Returns
    The converted HSV color.

    ◆ HSVToRGB()

    Vector cinema::HSVToRGB ( const Vector col)

    Converts HSV into the RGB color space.

    Parameters
    [in]colThe HSV color to convert.
    Returns
    The converted RGB color.

    ◆ RGBToHSL()

    Vector cinema::RGBToHSL ( const Vector col)

    Converts RGB into the HSL color space.

    Parameters
    [in]colThe RGB color to convert.
    Returns
    The converted HSL color.

    ◆ HSLtoRGB()

    Vector cinema::HSLtoRGB ( const Vector col)

    Converts HSL into the RGB color space.

    Parameters
    [in]colThe HSL color to convert.
    Returns
    The converted RGB color.

    ◆ CalcSplinePoint()

    Vector cinema::CalcSplinePoint ( Float  offset,
    SPLINETYPE  type,
    Bool  closed,
    Int32  pcnt,
    const Vector padr,
    const Tangent tadr = nullptr 
    )

    Calculates a point along a spline curve from a set of points in 3D space.

    Since
    R17.032
    Parameters
    [in]offsetThe offset along the spline from 0.0 to 1.0.
    [in]typeThe type of spline, i.e. AKIMA, BSPLINE etc.
    [in]closedWhether the spline is closed or not.
    [in]pcntThe number of points in the spline.
    [in]padrThe points array.
    [in]tadrThe tangents array, required for Bezier, Cubic and Akima spline types (otherwise will default to b-spline).
    Returns
    The resulting point calculated from the offset.

    ◆ CalcSplineTangent()

    Vector cinema::CalcSplineTangent ( Float  offset,
    SPLINETYPE  type,
    Bool  closed,
    Int32  pcnt,
    const Vector padr,
    const Tangent tadr = nullptr 
    )

    Calculates the tangent of a point along a spline curve from a given set of points and optional tangents.

    Since
    R17.032
    Parameters
    [in]offsetThe offset along the spline from 0.0 to 1.0.
    [in]typeThe type of spline, i.e. AKIMA, BSPLINE etc.
    [in]closedWhether the spline is closed or not.
    [in]pcntThe number of points in the spline.
    [in]padrThe points array.
    [in]tadrThe tangents array, required for Bezier, Cubic and Akima spline types (otherwise will default to b-spline).
    Returns
    The resulting tangent (normalized) for the given offset.

    ◆ CalcSplineInsert()

    void cinema::CalcSplineInsert ( Float  offset,
    SPLINETYPE  type,
    Bool  closed,
    Int32  pcnt,
    const Vector padr,
    const Tangent tadr,
    Int32 pointIndex,
    Vector resultPoint,
    Tangent resultTangent,
    Vector leftTangent,
    Vector rightTangent 
    )

    Calculates data about a point would if it were inserted into the spline at the passed offset.

    Since
    R17.032
    Parameters
    [in]offsetThe offset to calculate the point for.
    [in]typeThe spline type.
    [in]closedThe closed state of the spline points.
    [in]pcntThe number of points in the spline.
    [in]padrThe address of the points array.
    [in]tadrThe (optional) address of the tangents array.
    [out]pointIndexThe index that the resulting point would be if it were inserted into the spline.
    [out]resultPointThe position of the resulting point.
    [out]resultTangentThe spline tangent information of the resulting point.
    [out]leftTangentThe correct new left tangent (tadr[pointIndex - 1].vr).
    [out]rightTangentThe correct new right tangent (tadr[pointIndex].vl).

    ◆ TransformTangent()

    Tangent cinema::TransformTangent ( const Vector newPos,
    const Vector planeNormal,
    const Vector position,
    const Tangent tangent,
    TANGENTSIDE  tangentSide,
    TANGENTTRANSFORMFLAG  flags = TANGENTTRANSFORMFLAG::BREAK_SCALE 
    )

    Creates a transformed tangent around a point and plane, allowing to directly set the position of one of the tangent handles and automatically rotating the rest of the tangent to match.

    Since
    R17.032
    Parameters
    [in]newPosThe new position for the tangent handle.
    [in]planeNormalThe normal of the plane for rotation of the handles.
    [in]positionThe position of the center of the tangent being modified.
    [in]tangentThe tangent to modify/derive the resulting tangent from.
    [in]tangentSideThe handle to modify of the tangent, left, right, or none.
    [in]flagsThe flags for controlling tangent breaking, rotation and scale locking etc.
    Returns
    The resulting transformed tangent.

    ◆ CalcSplineMovement()

    void cinema::CalcSplineMovement ( const Vector newPos,
    Float  offset,
    SPLINETYPE  type,
    const Matrix splineMg,
    BaseDraw bd,
    const Vector planeNormal,
    Bool  closed,
    Bool  lockTangentAngle,
    Bool  lockTangentLength,
    BREAKTANGENTS  breakTangents,
    Int32  pcnt,
    Vector padr,
    Tangent tadr 
    )

    Moves a point on a spline curve to a user specified new position.

    Since
    R17.032
    Parameters
    [in]newPosThe new position for the point of the curve at offset.
    [in]offsetThe offset to move to the position newPos.
    [in]typeThe type of spline to move.
    [in]splineMgThe matrix of the spline.
    [in]bdThe (optional) basedraw.
    [in]planeNormalThe normal for tangent rotation, typically Vector(0,0,1).
    [in]closedThe closed state of the spline.
    [in]lockTangentAngletrue if tangents angle may not be changed by this routine.
    [in]lockTangentLengthtrue if the tangents length may not be changed by this routine.
    [in]breakTangentsSet to break the tangents while manipulating the curve if tangents exist.
    [in]pcntThe number of points in the spline.
    [out]padrThe address of the points that describe the spline.
    [out]tadrThe (optional) address of the tangents that are used by the spline.

    ◆ CalcSplineDefaultTangents()

    Bool cinema::CalcSplineDefaultTangents ( SPLINETYPE  type,
    Bool  closed,
    Int32  pcnt,
    const Vector padr,
    Tangent tadr 
    )

    Calculates the default tangents for the passed points (spline segment) based on the spline type.

    Since
    R17.032
    Parameters
    [in]typeThe spline type to calculate the tangents for.
    [in]closedWhether the spline segment is closed.
    [in]pcntThe number of points to calculate.
    [in]padrThe address of the points.
    [out]tadrThe resulting tangents (caller owns the array, must be pre-allocated).
    Returns
    true on success, false on failure to generate the tangents.

    ◆ BooleanSplines()

    PointObject* cinema::BooleanSplines ( PointObject initialSpline,
    AtomArray booleanObjects,
    BaseDocument doc,
    BaseDraw bd,
    SPLINEBOOL_AXIS  projectionAxis,
    SPLINEBOOL_MODE  booleanMode 
    )

    Booleans an initial SplineObject with an array of other SplineObjects along a passed projection axis (in 2D).

    Since
    R17.032
    Parameters
    [in]initialSplineThe original SplineObject or LineObject that will have the operations applied to it.
    [in]booleanObjectsThe array of SplineObjects to boolean with the initialSpline.
    [in]docThe active document that the objects belong to.
    [in]bdThe active BaseDraw.
    [in]projectionAxisThe projection axis to use, XY, ZY, screen space etc.
    [in]booleanModeThe type of boolean to apply (Union, Subtract etc).
    Returns
    The result of the Boolean operation (a new SplineObject, called owns), nullptr if there was an error.

    ◆ CalcSpline() [1/2]

    Float cinema::CalcSpline ( Float  x,
    const Float knot,
    Int32  nknots 
    )

    Calculates the value of a spline at a point.

    Parameters
    [in]xThe position on the spline.
    [in]knotThe spline knots array. The caller owns the pointed array.
    [in]nknotsThe number of knots.
    Returns
    The spline value.

    ◆ CalcSpline() [2/2]

    Vector cinema::CalcSpline ( Float  x,
    const Vector knot,
    Int32  nknots 
    )

    Calculates the value of a spline at a point.

    Parameters
    [in]xThe position on the spline.
    [in]knotThe spline knots array. The caller owns the pointed array.
    [in]nknotsThe number of knots.
    Returns
    The spline point.

    ◆ CalcRestrictionInc()

    void cinema::CalcRestrictionInc ( const ObjectRestriction lr,
    const RayObject op,
    Bool nodif,
    Bool nospec 
    )

    Calculates the include-/exclude situation for a given object op and a light source (&light->lr is passed).

    Parameters
    [in]lrThe light restriction to evaluate. The caller owns the pointed light restriction.
    [in]opThe object to evaluate. The caller owns the pointed object.
    [in,out]nodifMust be initialized with false before the call. Assigned true if lr specifies that op should not receive any diffuse light.
    [in,out]nospecMust be initialized with false before the call. Assigned true if lr specifies that op should not receive any specular light.

    ◆ BakeTexture()

    BAKE_TEX_ERR cinema::BakeTexture ( BaseDocument doc,
    const BaseContainer data,
    BaseBitmap bmp,
    BaseThread th,
    BakeProgressHook hook,
    BakeProgressInfo info 
    )

    Bakes the texture(s) specified by the last InitBakeTexture() call into bmp.

    Parameters
    [in]docThe document. The caller owns the pointed document.
    [in]dataThe bake settings: BakeTexEnums
    [out]bmpThe bitmap to bake to. If this points to a MultipassBitmap, it must be initialized with the correct width and height before BakeTexture() is called. The caller owns the pointed bitmap.
    If this points to a MultipassBitmap, it must be initialized with the correct width and height before BakeTexture() is called.
    Multipass bitmaps must be used if BAKE_TEX_AMBIENT_OCCLUSION is set. The only allowed modes for multipass bitmaps are COLORMODE::RGB, COLORMODE::ARGB, COLORMODE::RGBw, COLORMODE::ARGBw, COLORMODE::RGBf, COLORMODE::ARGBf.
    [in]thThe current thread. The caller owns the pointed document.
    [in]hookThe bake progress hook callback function pointer.
    [in]infoThe bake progress information passed to the hook callback.
    Returns
    BAKE_TEX_ERR::NONE if successful, otherwise one of these errors: BAKE_TEX_ERR

    ◆ InitBakeTexture() [1/2]

    BaseDocument* cinema::InitBakeTexture ( BaseDocument doc,
    TextureTag textag,
    UVWTag texuvw,
    UVWTag destuvw,
    const BaseContainer bc,
    BAKE_TEX_ERR err = nullptr,
    BaseThread th = nullptr 
    )

    Initializes a bake operation of a single tag for BakeTexture().

    Parameters
    [in]docThe document. The caller owns the pointed document.
    [in]textagThe texture tag to bake. Must be assigned to an object. The caller owns the pointed tag.
    [in]texuvwThe UVW tag to bake. Must be valid if UVW projection is selected in the tag, ignored otherwise. The caller owns the pointed tag.
    [out]destuvwThe destination UVW tag for the bake. If not nullptr, the current projection is transformed into the uvw tag. The caller owns the pointed tag.
    [in]bcThe bake settings: BakeTexEnums
    [out]errAssigned the error result, if not nullptr: BAKE_TEX_ERR
    [in]thThe current thread. The caller owns the pointed document.
    Returns
    The document for the bake to use for the call to BakeTexture(). The caller owns the pointed document.

    ◆ InitBakeTexture() [2/2]

    BaseDocument* cinema::InitBakeTexture ( BaseDocument doc,
    TextureTag **  textags,
    UVWTag **  texuvws,
    UVWTag **  destuvws,
    Int32  cnt,
    const BaseContainer bc,
    BAKE_TEX_ERR err = nullptr,
    BaseThread th = nullptr 
    )

    Initializes a bake operation of multiple tags for BakeTexture().

    Parameters
    [in]docThe document. The caller owns the pointed document.
    [in]textagsThe texture tags to bake. Must be assigned to objects. The caller owns the pointed array.
    [in]texuvwsThe UVW tags to bake. The caller owns the pointed array.
    [out]destuvwsThe destination UVW tags for the bake. If not nullptr, the current projection is transformed into the uvw tags. The caller owns the pointed array.
    [in]cntThe number of tags in textags, texuvws and destuvws arrays.
    [in]bcThe bake settings: BakeTexEnums
    [out]errAssigned the error result, if not nullptr: BAKE_TEX_ERR
    [in]thThe current thread. The caller owns the pointed document.
    Returns
    The document for the bake to use for the call to BakeTexture(). The caller owns the pointed document.

    ◆ GetOptimalAngleI()

    Vector cinema::GetOptimalAngleI ( const Vector orot,
    const Vector nrot,
    const ROTATIONORDER  order,
    const Float  angleDiff 
    )

    Private. Usually we solve for an angle in a 360 deg (-PI to PI) range but there can be the scenario that a different range is required

    ◆ RegisterVideoPostPlugin()

    Bool cinema::RegisterVideoPostPlugin ( Int32  id,
    const maxon::String str,
    Int32  info,
    DataAllocator g,
    const maxon::String description,
    Int32  disklevel,
    Int32  priority 
    )

    Registers a video post plugin.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe video post plugin info flags: PLUGINFLAG_VIDEOPOST PLUGINFLAG
    [in]gThe allocator for the video post plugin. This is a pointer to a function that creates a new instance of VideoPostData with NewObj().
    [in]descriptionThe name of the description resource file to use for the material plugin without .res extension, for example "VPeffectname".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    [in]priorityThe priority of the video post plugin. Higher priority values are called before lower values. The priorities of the internal video post processing are: VPPRIORITY
    For example, to filter between glow and depth of field then priority has to be set between VPPRIORITY_OBJECTGLOW and VPPRIORITY_DEPTHOFFIELD::

    Though all video post effects will be sorted by priority, an effect overriding for example VideoPostData::ExecutePixel will always be called before one using VideoPostData::ExecuteLine.
    Also VideoPostData::ExecuteLine will always be called before VIDEOPOSTCALL::INNER+ BaseVideoPostStruct::open open==false.
    This should be logical as VideoPostData::ExecutePixel will be instantly called after a sub-pixel has been calculated and VideoPostData::ExecuteLine instantly after a line has been calculated.
    Returns
    true if the video post plugin was registered, otherwise false.

    ◆ ToString() [3/4]

    maxon::String ToString ( const Matrix32 val,
    const maxon::FormatStatement formatStatement,
    maxon::Bool  checkDatatype = false 
    )

    ◆ ToString() [4/4]

    maxon::String cinema::ToString ( const Vector32 val,
    const maxon::FormatStatement formatStatement,
    maxon::Bool  checkDatatype = false 
    )

    ◆ MAXON_ENUM_LIST() [6/7]

    enum cinema::LINESTYLE cinema::MAXON_ENUM_LIST ( LINESTYLE  )

    ◆ MAXON_ENUM_FLAGS() [8/11]

    enum cinema::DETAILSELECTOR cinema::MAXON_ENUM_FLAGS ( DETAILSELECTOR  )

    ◆ MAXON_ENUM_FLAGS() [9/11]

    enum cinema::HOTKEYFLAGS cinema::MAXON_ENUM_FLAGS ( HOTKEYFLAGS  )

    ◆ MAXON_ENUM_LIST() [7/7]

    enum cinema::FOLDMODE cinema::MAXON_ENUM_LIST ( FOLDMODE  )

    ◆ MAXON_ENUM_FLAGS() [10/11]

    enum cinema::TAGBITS cinema::MAXON_ENUM_FLAGS ( TAGBITS  )

    ◆ FMin() [1/2]

    Float32 cinema::FMin ( Float32  a,
    Float32  b 
    )

    Gets the minimum of two float values.
    Single-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ FMin() [2/2]

    Float64 cinema::FMin ( Float64  a,
    Float64  b 
    )

    Gets the minimum of two float values.
    Double-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ LMin()

    Int32 cinema::LMin ( Int32  a,
    Int32  b 
    )

    Gets the minimum of two integer values.
    Single-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ VMin()

    Int cinema::VMin ( Int  a,
    Int  b 
    )

    Gets the minimum of two integer values.
    Double-precision version on 64-bit systems.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ FMax() [1/2]

    Float32 cinema::FMax ( Float32  a,
    Float32  b 
    )

    Gets the maximum of two float values.
    Single-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ FMax() [2/2]

    Float64 cinema::FMax ( Float64  a,
    Float64  b 
    )

    Gets the maximum of two float values.
    Double-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ LMax()

    Int32 cinema::LMax ( Int32  a,
    Int32  b 
    )

    Gets the maximum of two integer values.
    Single-precision version.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ VMax()

    Int cinema::VMax ( Int  a,
    Int  b 
    )

    Gets the maximum of two integer values.
    Double-precision version on 64-bit systems.

    Parameters
    [in]aThe first value.
    [in]bThe second value.
    Returns
    The minimum value.

    ◆ LCut()

    Int32 cinema::LCut ( Int32  a,
    Int32  b,
    Int32  c 
    )

    Limits the value of a between b and c.
    Single-precision version.

    Parameters
    [in]aThe value.
    [in]bThe lower bound.
    [in]cThe upper bound.
    Returns
    b if a < b, c if a > c, otherwise a.

    ◆ VCut()

    Int cinema::VCut ( Int  a,
    Int  b,
    Int  c 
    )

    Limits the value of a between b and c.
    Double-precision version on 64-bit systems.

    Parameters
    [in]aThe value.
    [in]bThe lower bound.
    [in]cThe upper bound.
    Returns
    b if a < b, c if a > c, otherwise a.

    ◆ Sign()

    Int cinema::Sign ( f)

    Calculates the sign of a value.

    Parameters
    [in]fThe value.
    Returns
    1 if the passed value is 0 or positive, otherwise -1.

    ◆ Mod()

    T cinema::Mod ( a,
    b 
    )

    Calculates a modulo b.

    Parameters
    [in]aThe dividend.
    [in]bThe divisor.
    Returns
    The remainder.

    ◆ MAXON_ENUM_FLAGS() [11/11]

    enum cinema::OPENDIALOGFLAGS cinema::MAXON_ENUM_FLAGS ( OPENDIALOGFLAGS  )

    Variable Documentation

    ◆ ID_DISPLAYFILTER_BROWSERPRESET

    const Int32 ID_DISPLAYFILTER_BROWSERPRESET
    static

    BaseDraw Display Filter preset ID.

    Plugin ID for BaseDraw Display Filter preset type.
    Can be used to filter a list of presets for the Content Browser.

    ◆ MSG_PROPERTYPROPAGATION_OVERRIDE

    const Int MSG_PROPERTYPROPAGATION_OVERRIDE
    static

    Private.

    ◆ ID_FIELDSUBLIST_ICON

    const Int32 ID_FIELDSUBLIST_ICON
    static

    The generic icon for sublists.

    ◆ ID_FIELDMASK_ICON

    const Int32 ID_FIELDMASK_ICON
    static

    The icon for the mask sublist.

    ◆ iListViewData

    class CINEWARE_SINGLEINHERITANCE iListViewData

    ◆ CUSTOMGUI_RANGE

    const Int32 CUSTOMGUI_RANGE
    static

    RangeCustomGui ID.

    Since
    R19

    ◆ CUSTOMDATATYPE_RANGE

    const Int32 CUSTOMDATATYPE_RANGE
    static

    RangeData ID.

    Since
    R19

    ◆ ID_TOOL_SYSTEM_HOOK

    constexpr Int32 ID_TOOL_SYSTEM_HOOK
    staticconstexpr

    @MarkPrivate

    ◆ FIELD_EXECUTION_BLOCK_SIZE

    const Int32 FIELD_EXECUTION_BLOCK_SIZE
    static

    / The size of a block that's executed in an MP environment. For single depth execution a value closer to 1200 is actually more optimal, with one group 600 and from then on for each group depth you can expect a drop of a third. For general usage on current architectures this gives the best balance.

    ◆ FIELD_EXECUTION_BLOCK_SIZEf

    const Float FIELD_EXECUTION_BLOCK_SIZEf
    static

    / The size of a block that's executed in an MP environment. For single depth execution a value closer to 1200 is actually more optimal, with one group 600 and from then on for each group depth you can expect a drop of a third. For general usage on current architectures this gives the best balance.

    ◆ MSG_PRESAMPLE_FIELD_SINGLE

    const Int32 MSG_PRESAMPLE_FIELD_SINGLE
    static

    Message to signal an impending invidual calls of an object list The corresponding data is PresampleFieldSingleData.

    ◆ MSG_POSTSAMPLE_FIELD_SINGLE

    const Int32 MSG_POSTSAMPLE_FIELD_SINGLE
    static

    Message to signal the end of individual calls of an object list.

    ◆ GvOperatorData

    ◆ TP_PGroup

    ◆ TP_ParticleNode

    ◆ TP_MasterSystem

    ◆ MSG_BIRENDER_ADDMPBUFFER

    const Int32 MSG_BIRENDER_ADDMPBUFFER

    ◆ ID_CUSTOMDATA_TAG_LIB

    const Int32 ID_CUSTOMDATA_TAG_LIB
    static

    ◆ xBaseCurveData

    ◆ xBaseSurfaceData

    ◆ xMappedCurveData

    ◆ xTrimmedSurfaceData

    ◆ BlendLayer

    class CINEWARE_SINGLEINHERITANCE BlendLayer

    ◆ iModeling

    class CINEWARE_SINGLEINHERITANCE iModeling

    ◆ NetRenderService

    ◆ Repository

    ◆ UserPool

    ◆ Machine

    ◆ iUser

    ◆ iNgonBase

    class CINEWARE_SINGLEINHERITANCE iNgonBase

    ◆ iSculptBrushBase

    class CINEWARE_SINGLEINHERITANCE iSculptBrushBase

    ◆ g_resource

    GeResource g_resource
    extern

    Global resources for Cinema 4D.

    ◆ l_empty

    Vector64 l_empty
    extern

    ◆ COLORTOINT_MULTIPLIER

    const Float COLORTOINT_MULTIPLIER
    static

    Constant to convert from vectors color components to integers.

    Since
    R18

    ◆ PERCENT

    const Float PERCENT
    static

    Constant to convert from 0-1 range to percentage.

    ◆ THIRD

    const Float THIRD
    static

    Constant to calculate the third of a value.

    ◆ SIXTH

    const Float SIXTH
    static

    Constant to calculate the sixth of a value.

    ◆ DONT_INITIALIZE

    const maxon::ENUM_DONT_INITIALIZE DONT_INITIALIZE
    static

    ◆ PRIVATE_NBITMASK_INDEX1

    const Int32 PRIVATE_NBITMASK_INDEX1
    static

    Private.

    ◆ PRIVATE_NBITMASK_INDEX2

    const Int32 PRIVATE_NBITMASK_INDEX2
    static

    Private.

    ◆ PRIVATE_NBITMASK_INDEX3

    const Int32 PRIVATE_NBITMASK_INDEX3
    static

    Private.

    ◆ PRIVATE_NBITMASK_INDEX4

    const Int32 PRIVATE_NBITMASK_INDEX4
    static

    Private.

    ◆ XnodeEmulation

    const Int XnodeEmulation
    static

    ◆ ID_SHOWSUBCHANNELS

    const Int32 ID_SHOWSUBCHANNELS
    static

    Private.

    ◆ HIGHLIGHT_TRANSPARENCY

    const Int32 HIGHLIGHT_TRANSPARENCY
    static

    A special constant that sets the (yellowish) highlight transparency mode.