Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Cmaxwell class describes the whole Maxwell Render scene.

...

TypeNameDescription
unsigned char_interactiveFlagsInternal use.

Enumerations

typeCallback and InteractiveFlags.

Methods

NameDescription
CmaxwellClass constructor.
~CmaxwellClass destructor.
getMxsVersionGets MXS file version.
getMostRecentVersionMXSGets most recent MXS version supported.
getPluginIDGets the plug-in identifier from which the MXS was created.
setPluginIDGets the plug-in identifier from which the MXS was created.
isProtectionEnabledGets scene protection state in Maxwell Studio (ability to export to other formats).
enableProtectionSets scene protection state in Maxwell Studio (ability to export to other formats).
Scene methods
freeGeometryDeletes all geometry of the scene.
freeSceneResets the scene. Cleans all objects, geometry, materials, etc.
getScenePreviewPreview image of the scene stored in the file (useful for thumbnals).
setScenePreviewSets preview image.
readPreviewSets sene preview image from another MXS.
setInputDataTypeSet the axis orientation of the scene.
setSinglePrecisionOfGeometryUses floats instead of doubles for geometry.
setSceneUserDataInternal use.
addClusterAdds a triangle cluster to the scene.
Object methods
getObjectGets a object reference from the scene.
createMeshCreates a mesh with the given parameters and adds it to the scene.
createInstancementCreates an instancement.
createProxyCreates a proxy object from a MXS.
createRFRKCreates a RealFlow RenderKit object.
addObjectAdds an existent object to the scene.
mergeMeshesMerges meshes into a new one.
Camera methods
addCameraAdds a new camera to the scene with the given parameters.
getCameraGets a camera requested by name.
getActiveCameraGets the active camera of the scene.
Paths methods
setPathSets the path and depth for the given channel.
getPathGets the path and depth for the given channel.
addSearchingPathAdds a path to look for missing textures, ior and ies files.
getSearchingPaths

Gets all searching paths of the scene.

Sky methods
getSunPositionTypeSets sun position type.
setSunPositionTypeGets sun position type.
getSkyConstantGets the parameters of the constant sky.
setSkyConstantSets the parameters of the constant sky.
getSunLongitudeAndLatitudeGets sun longitude and latitude data.
setSunLongitudeAndLatitudeSets sun longitude and latitude data.
getSunAnglesGets sun position angles.
setSunAnglesSets sun position angles.
getSunDirectionGets sun direction vector.
setSunDirectionSets sun direction vector.
getSunRotationGets sun rotation angles.
setSunRotationSets sun rotation angles.
getSunPropertiesGets sun properties
setSunPropertiesSets sun properties.
getPhysicalSkyAtmosphereGets physical atmosphere parameters.
setPhysicalSkyAtmosphereSets physical atmosphere parameters.
getActiveSkyGets active sky name.
setActiveSkySets active sky name.
Additional sky methods
getSunDirectionUsedForRenderingReturns the sun direction.
saveSkyToHDRSaves current sky to an HDR file.
saveSkyToPresetSaves current physical sky values to a file.
loadSkyFromPresetLoads a preset file replacing current physical sky values.
getSkyColorReturns sky RGB color of the current sky values in the given direction.
getSkyColorNoTonemappedReturns sky RGB color (without tonemapping nor exposure) of the current sky values in the given direction.
Environment methods
isEnvironmentEnabledGets IBL (Image Based Lighting) state.
enableEnvironmentSets the IBL (Image Based Lighting) on/off.
getEnvironmentWeightGets the value for the global multiplier of all the environment layers.
setEnvironmentWeightSets the value for the global multiplier of all the environment layers.
getEnvironmentLayerGets the parameters of each environment layer.
setEnvironmentLayerSets the parameters of each environment layer.
Material methods
readMaterialReads a material from file (MXM).
createMaterialCreates a new material.
getMaterialGets a material by name.
addMaterialAdds a material to the scene.
eraseUnusedMaterialsRemove unused materials from the scene.
setOverrideMaterialSets the path and state (enabled/disabled) of the material that overrides all materials of the scene (except emitter materials).
getOverrideMaterialgets the path and state (enabled/disabled) of the material that overrides all materials of the scene (except emitter materials).
setDefaultMaterialSets the path and state (enabled/disabled) of the material that will be used for all the objects/triangles without material.
getDefaultMaterialGets the path and state (enabled/disabled) of the material that will be used for all the objects/triangles without material.
Render methods
setRenderParameterSets render parameter.
getRenderParameterGets render parameter.
Tonemapping methods
getToneMappingGets tonemapping values.
setToneMappingSets tonemapping values.
getActiveToneMappingGets the active tonemapping used ("BASIC" or "ADVANCED" ).
setAdvancedToneMappingDeprecated.
getAdvancedToneMappingDeprecated.
Read/write scene methods
readMXSReads scene from disk.
writeMXSWrites scene to disk.
Glare methods
setDiffractionSets diffraction parameters.
getDiffractionGets diffraction parameters.
enableDiffractionEnables diffraction.
disableDiffractionDisables diffraction.
setColorSpaceSets the output color space used by the render engine.
getColorSpaceGets the output color space used by the render engine.
getColorSpaceGammaReturns the gamma used by the active color space.
Miscellaneous methods
getLastErrorReturns the latest error occurred.
getLastErrorStringReturns an human readable string containing the latest error occurred.
getDependencies

Returns all the extern dependencies of the scene (textures, ior files, hdr files, etc).

getObjectsCountReturns the number of objects in the scene.
getMaterialsCountReturns the number of materials in the scene.
getCamerasCountReturns the number of cameras in the scene.
getTriangleGroupsCountReturns the number of triangle groups in the scene. Deprecated.
getSceneInfoReturns by reference a Cmaxwell::CsceneInfo structure with information about the scene.
computeFresnelGraph--TODO--computeAbbeGraph--TODO--Computes the reflectance as a function of the angle of incidence.
computeAbbeGraphComputes the reflectance as a function of the spectral input.
getCorrelatedColorTemperatureGets the correlated RGB values given the temperature color.
generateUuidGenerates an unique ID.
searchFileInCommonPathsLooks for the given file in all of the searching paths of the scene.
createGeometryLoaderObject--TODO-- 
createGeometryProceduralObject--TODO-- 
applySkyExtension--TODO-- 
applySceneModifierExtension--TODO-- 

Static Methods

NameDescription
getEngineVersionReturns the current engine version.
getSdkVersionReturns the current SDK version.
isDepthSupportedForThisFormatReturns true if for the given extension the depth is valid.
getHighestDepthSupportedForThisFormatReturns the highest bits per plane supported for the given format.
isEmbeddingAlphaSupportedForThisFormatReturns true if for the given format it is possible embedding the alpha channel.
isEmbeddingAllChannelsSupportedForThisFormatReturns true if for the given format it is possible embedding all channels in a multilayer file.
isTextureExtensionSupportedReturns true if the extension of the given texture path is supported by the render engine.
getSquareSwatchIES

Used to get the IES/EULUM emission pattern plotted into a square rgb buffer of size "resolution". The caller is responsible of freeing the buffer "buf" after using it.

getSolidLobeIES

Used to get the IES/EULUM emission pattern plotted as a 3d object. The caller is responsible of freeing the buffers "faces, points" after using them.

Virtual Methods

NameDescription
printMessagePrints a message in the render console or in the message handler installed.

 

Anchor
cmaxwellctor
cmaxwellctor

...

TypeNameIn/OutDescription
const char*pInputin

Must be one of the following: "YXZ", "ZXY" or "YZX".

The following equivalences are accepted Typedefs with plugin names can be used as well:

"YXZYZXRH" = "MAXWELL", "LIGHTWAVEMAYA" or , "CINEMAXSI"., "ZXYHOUDINI" = , "FORMZRHINO" or "3DSMAXSOLIDWORKS".

"YZXZXYLH" = "MAXWELLFORMZ" , or "MAYA3DSMAX", .

"XSIYXZLH" , = "HOUDINICINEMA", .

"RHINOYZXLH" or "SOLIDWORKSLIGHTWAVE".

Anchor
setsingleprecisionofgeometry
setsingleprecisionofgeometry

...

TypeNameIn/outDescription
const char*pNameinCluster name

Return value

Returns a Cmaxwell::Ccluster object, that is a reference to the cluster added to the scene.

...

Returns the Cobject with the given name or a null object if there is not an object with that name ( Cmaxwell::Cobject::isNull() == true ).

Anchor
createmesh
createmesh

...

Cmaxwell::Cobject reference to the new mesh object created in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Anchor
createinstancement
createinstancement

...

So it's highly reccommended to assign unique names in each instancement creation when we create a lot of them. A good example of creating instancements is provided here.

LanguageSyntax
C++Cmaxwell::Cobject createInstancement( const char* pName, Cmaxwell::Cobject& object )
PythonCmaxwellObject createInstancement( str pName, CmaxwellObject object )

...

Cmaxwell::Cobject reference to the new instance object created in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Anchor
createproxy
createproxy

...

Cmaxwell::Cobject reference to the new proxy object created in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Anchor
createrfrk
createrfrk

...

Method used to create RealFlow objects. Returns a null object that can be filled with Cmaxwell::Cobject::setRfrkParameters().

LanguageSyntax
C++Cmaxwell::Cobject createRFRK( const char* objName )
PythonCmaxwellObject createRFRK( str objName )

Cmaxwell::Cobject reference to the new RFRK object created in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Anchor
addobject
addobject

...

Cmaxwell::Cobject reference to the object added in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Anchor
mergemeshes
mergemeshes

...

Cmaxwell::Cobject reference to the new merged object created in the scene. Null object if it was not created (Cmaxwell::Cobject::isNull() = true).

Examples

Code Block
titlePython
list = []
list.append(scene.getObject('sphere'));
list.append(scene.getObject('cube'));
newobject = scene.mergeMeshes('merged',list);    

...

TypeNameIn/OutDescription
const char*pTypeinPath type: "RENDER", "ALPHA", "SHADOW", "OBJECT", "MATERIAL", "MOTION", "Z". ("BITMAPS" is deprecated, use Cmaxwell::addSearchingPath() instead)
const char*pPathinOutput path of the channel.
byteoutputBitDepthModein

Bits depth per pixel (8/16/32). If the depth is not correct for the given format, the engine tries to change this parameter.

i.e. setPath( "image.jpg", 32 ) is not correct because jpg does not support 32 bits so the engine will change it to 8. Get more info about supported image formats.

...

TypeNameIn/OutDescription
const char*pTypeinPath type: "RENDER", "ALPHA", "SHADOW", "OBJECT", "MATERIAL", "MOTION", "Z". ("BITMAPS" is deprecated, use Cmaxwell::addSearchingPath() instead)
byteoutputBitDepthModeoutBits depth per pixel (8/16/32).

...

Gets the location of the sun when Cmaxwell::getSunPositionType() = 0.

LanguageSyntax
C++byte getSunLongitudeAndLatitude( real& longitude, real& latitude, int& sm, dword& dayOfYear, real&timeOfDay )
Python

(float longitude, float latitude, int sm, int dayOfYear, int timeOfDay) getSunLongitudeAndLatitude()

...

Sets the location of the sun when Cmaxwell::getSunPositionType() = 0.

LanguageSyntax
C++byte setSunLongitudeAndLatitude( real longitude, real latitude, int sm, dword dayOfYear, real timeOfDay )
Pythonint setSunLongitudeAndLatitude( float longitude, float latitude, int sm, int dayOfYear, float timeOfDay )

...

Returns a Cmaxwell::Cmaterial object. Null if it was not created (Cmaxwell::Cmaterial::isNull() = true).

Anchor
creatematerial
creatematerial

...

Returns a Cmaxwell::Cmaterial object. Null if it was not created (Cmaxwell::Cmaterial::isNull() = true).

Anchor
getmaterial
getmaterial

...

Returns a Cmaxwell::Cmaterial object. Null if it was not created (Cmaxwell::Cmaterial::isNull() = true).

Anchor
addmaterial
addmaterial

...

Returns a Cmaxwell::Cmaterial object. Null if it was not created (Cmaxwell::Cmaterial::isNull() = true).

Anchor
eraseunusedmaterials
eraseunusedmaterials

...

TypeNameIn/OutDescription
const char*pParameterNameinParameter name (see pParameterValue for parameter name list).
dwordsizein

Size of the parameter in bytes (see pParameterValue to view sizes by parameter).

Note: parameter size is not needed in Python.

void*pParameterValuein/out

Parameter value, according to the following correspondences:

Parameter nameSizeValue
"ENGINE"sizeof( char ) * 3Selects render engine. "RS0" or "RS1".
"NUM THREADS"sizeof( dword )Number of threads. 0 = automatic.
"STOP TIME"sizeof( dword )Render time in seconds.
"SAMPLING LEVEL"sizeof( float )Target sampling level.
"USE MULTILIGHT"sizeof( byte )0 = No multilight; 1 = Intensity multilight; 2 = Intensity + Color multilight.
"SAVE LIGHTS IN SEPARATE FILES"sizeof( byte )0 = no, 1 = yes.
"MXI FULLNAME"0const char* that specifies the MXI path.
"DO NOT SAVE MXI FILE"sizeof( byte )0 = no, 1 = yes.
"DO NOT SAVE IMAGE FILE"sizeof( byte )0 = no, 1 = yes.
"RENAME AFTER SAVING"sizeof( byte )0 = no, 1 = yes.
"COPY MXI AFTER RENDER"0const char* that specifies the MXI path where output will be copied.
"COPY IMAGE AFTER RENDER"0const char* that specifies the image path where output will be copied.
"REMOVE FILES AFTER COPY"sizeof( byte )0 = no, 1 = yes.
"DO MOTION BLUR"sizeof( byte )0 = no, 1 = yes.
"DO DISPLACEMENT"sizeof( byte )0 = no, 1 = yes.
"DO DISPERSION"sizeof( byte )0 = no, 1 = yes.
"DO DIFFUSE LAYER"sizeof( byte )0 = no, 1 = yes.
"DO REFLECTION LAYER"sizeof( byte )0 = no, 1 = yes.
"DO DIRECT LAYER"sizeof( byte )0 = no, 1 = yes.
"DO INDIRECT LAYER"sizeof( byte )0 = no, 1 = yes.
"DO DIRECT REFLECTION CAUSTIC LAYER"sizeof( byte )0 = no, 1 = yes.
"DO INDIRECT REFLECTION CAUSTIC LAYER"sizeof( byte )0 = no, 1 = yes.
"DO DIRECT REFRACTION CAUSTIC LAYER"sizeof( byte )0 = no, 1 = yes.
"DO INDIRECT REFRACTION CAUSTIC LAYER"sizeof( byte )0 = no, 1 = yes.
"DO RENDER CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO ALPHA CHANNEL"sizeof( byte )0 = no, 1 = yes.
"OPAQUE ALPHA"sizeof( byte )0 = no, 1 = yes.
"EMBED CHANNELS"sizeof( byte )0 = no, 1 = yes.
"DO IDOBJECT CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO IDMATERIAL CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO SHADOW PASS CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO MOTION CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO ROUGHNESS CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO FRESNEL CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO NORMALS CHANNEL"sizeof( byte )0 = no, 1 = yes.
"NORMALS CHANNEL SPACE"sizeof( byte )0 = world space (default ); 1 = camera space.
"POSITION CHANNEL SPACE"sizeof( byte )0 = world space (default ); 1 = camera space.
"MOTION CHANNEL TYPE"sizeof( byte )0 = RealSmart
"DO POSITION CHANNEL"sizeof( byte )0 = no, 1 = yes.
"DO ZBUFFER CHANNEL"sizeof( byte )0 = no, 1 = yes.
"ZBUFFER RANGE"2 * sizeof( real )Two values: z-near and z-far.
"DO DEVIGNETTING"sizeof( byte )0 = no, 1 = yes.
"DEVIGNETTING"sizeof( byte )Devignetting value. Range: 0-100.
"DO SCATTERING_LENS"sizeof( real )Range: 0-1
"DO SHARPNESS"sizeof( byte )0 = no, 1 = yes.
"SHARPNESS"sizeof( byte )Sharpness value. Range: 0-100.

...

TypeNameIn/OutDescription
dwordtypeinColor space selected. See COLOR_SPACES enum.

Return value

0 = Error setting color space.

...

TypeNameIn/OutDescription
dwordtypeout(C++) Color space used. See COLOR_SPACES enum.

Return value

Python

Color space used. See COLOR_SPACES enum.

Anchor
getcolorspacegamma
getcolorspacegamma

...

Returns the latest error occurred, Cerror is defined in error.h. Useful for finding out i/o problems when reading/writing MXS/MXI files.

LanguageSyntax
C++Cerror::error getLastError()
Pythonint getLastError()

...

Anchor
computefresnelgraph
computefresnelgraph

computeFresnelGraph

--TODO--Computes the reflectance as a function of the angle of incidence.

LanguageSyntax
C++void computeFresnelGraph( float* pX, float* pY, dword n, real iorOutgoing )
Pythonarray list[2] computeFresnelGraph( int n, float ioirOutgoing )

...

TypeNameIn/OutDescription
float*pXoutFloat array of size 'n' containing the fresnel graph in the X axisangle of incidence (from 0 to Pi/2). It must be allocated before call computeFresnelGraph. --TODO--
float*pYoutFloat array of size 'n' containing the fresnel graph in the Y axisreflectance graph (from 0 to 1). It must be allocated before call computeFresnelGraph. --TODO--
dwordninSize of pX and pY float vectors.
realiorOutgoingin--TODO--Refraction index of the material.

Return value

Python

List containing both (pX and pY) vectors as NumPy arrays.

Anchor
computeabbegraph
computeabbegraph

computeAbbeGraph

--TODO--Computes the reflectance as a function of the spectral input.

LanguageSyntax
C++void computeAbbeGraph( float* pX, float* pY, dword n, real nd, real abbe )
Pythonarray list[2] computeAbbeGraph( int n, float nd, float abbe )

...

TypeNameIn/OutDescription
float*pXoutFloat array of size 'n' containing the abbe graph in the X axisspectral range (in nm). It must be allocated before call computeAbbeGraph . --TODO--(C++).
float*pYoutFloat array of size 'n' containing the abbe graph in the Y axisspectral IOR. It must be allocated before call computeAbbeGraph . --TODO--(C++).
dwordninSize of pX and pY float vectors.
realndin--TODO--Refraction index.
realabbein--TODO--Abbe number of the material.

Return value

Python

List containing both (pX and pY) vectors as NumPy arrays.

...

LanguageSyntax
C++void getSdkVersion( char pVersion[64] )
 int getSdkVersion()
Pythonstr getSdkVersionString()
 int getSdkVersion()

Anchor
isdepthsupportedforthisformat
isdepthsupportedforthisformat

...

TypeNameIn/OutDescription
const char*fileNameinIES/EULUM file name.
unsigned int&numPointsoutNumber of points returned.
unsigned int&numTrianglesoutNumber of triangles returned.
unsigned int*&facesout0-based indices into points array : v00, v01, v02, v10, v11, v12, .....
float*&pointsoutArray of vertices, x0, y0, z0, x1, y1, z1, .....
const char*pAxisSysteminSame as setInputDataType.

Return value

C++

0 = Error getting IES/EULUM 3D emission pattern.

...

Tuple containing 'numPoints', 'points', 'numTriangles' and 'faces'.

Anchor
printmessage
printmessage

printMessage

Prints a message in the render console or in the message handler installed. Can be reimplemented in subclasses to install handlers.

LanguageSyntax
C++virtual void printMessage( const char* text, const int code )

Parameters

TypeNameIn/OutDescription
const char*textinMessage.
const intcodein

0 = Info.

1 = Error.

2 = Warning.

Anchor
cmaxwell_typecallback
cmaxwell_typecallback

...

InteractiveFlags

Values of the _interactiveFlags property.

ValueC++Python
0Cmaxwell::ALL_CLEANCmaxwell.ALL_CLEAN
1Cmaxwell::CAMERA_DIRTYCmaxwell.CAMERA_DIRTY
2Cmaxwell::MATERIALS_ASSIGNMENTS_DIRTYCmaxwel.MATERIALS_ASSIGNMENTS_DIRTY
8Cmaxwell::GEOMETRY_DIRTYCmaxwell.GEOMETRY_DIRTY
16Cmaxwell::VOXELIZATION_DIRTYCmaxwell.VOXELIZATION_DIRTY
32Cmaxwell::SKY_OR_HDR_DIRTYCmaxwell.SKY_OR_HDR_DIRTY
64Cmaxwell::DEFAULT_OR_OVERRIDE_MATERIAL_DIRTYCmaxwell.DEFAULT_OR_OVERRIDE_MATERIAL_DIRTY
0x3FCmaxwell::ALL_DIRTYCmaxwell.ALL_DIRTY

 

 

 

...