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.