The Cmaxwell class describes the whole Maxwell Render scene.
...
typeCallback and InteractiveFlags.
Methods
Name | Description |
---|---|
Cmaxwell | Class constructor. |
~Cmaxwell | Class destructor. |
getMxsVersion | Gets MXS file version. |
getMostRecentVersionMXS | Gets most recent MXS version supported. |
getPluginID | Gets the plug-in identifier from which the MXS was created. |
setPluginID | Gets the plug-in identifier from which the MXS was created. |
isProtectionEnabled | Gets scene protection state in Maxwell Studio (ability to export to other formats). |
enableProtection | Sets scene protection state in Maxwell Studio (ability to export to other formats). |
Scene methods | |
freeGeometry | Deletes all geometry of the scene. |
freeScene | Resets the scene. Cleans all objects, geometry, materials, etc. |
getScenePreview | Preview image of the scene stored in the file (useful for thumbnals). |
setScenePreview | Sets preview image. |
readPreview | Sets sene preview image from another MXS --TODO--. |
setInputDataType | Set the axis orientation of the scene. |
setSinglePrecisionOfGeometry | Uses floats instead of doubles for geometry. |
setSceneUserData | Internal use. |
addCluster | Adds a triangle cluster to the scene. |
Object methods | |
getObject | Gets a object reference from the scene. |
createMesh | Creates a mesh with the given parameters and adds it to the scene. |
createInstancement | Creates an instancement. |
createProxy | Creates a proxy object from a MXS. |
createRFRK | Creates a RealFlow RenderKit object. |
addObject | Adds an existent object to the scene. |
mergeMeshes | Merges meshes into a new one. |
Camera methods | |
addCamera | Adds a new camera to the scene with the given parameters. |
getCamera | Gets a camera requested by name. |
getActiveCamera | Gets the active camera of the scene. |
Paths methods | |
setPath | Sets the path and depth for the given channel. |
getPath | Gets the path and depth for the given channel. |
addSearchingPath | Adds a path to look for missing textures, ior and ies files. |
getSearchingPaths | Gets all searching paths of the scene. |
Sky methods | |
getSunPositionType | Sets sun position type. |
setSunPositionType | Gets sun position type. |
getSkyConstant | Gets the parameters of the constant sky. |
setSkyConstant | Sets the parameters of the constant sky. |
getSunLongitudeAndLatitude | Gets sun longitude and latitude data. |
setSunLongitudeAndLatitude | Sets sun longitude and latitude data. |
getSunAngles | Gets sun position angles. |
setSunAngles | Sets sun position angles. |
getSunDirection | Gets sun direction vector. |
setSunDirection | Sets sun direction vector. |
getSunRotation | Gets sun rotation angles. |
setSunRotation | Sets sun rotation angles. |
getSunProperties | Gets sun properties |
setSunProperties | Sets sun properties. |
getPhysicalSkyAtmosphere | Gets physical atmosphere parameters. |
setPhysicalSkyAtmosphere | Sets physical atmosphere parameters. |
getActiveSky | Gets active sky name. |
setActiveSky | Sets active sky name. |
Additional sky methods | |
getSunDirectionUsedForRendering | Returns the sun direction. |
saveSkyToHDR | Saves current sky to an HDR file. |
saveSkyToPreset | Saves current physical sky values to a file. |
loadSkyFromPreset | Loads a preset file replacing current physical sky values. |
getSkyColor | Returns sky RGB color of the current sky values in the given direction. |
getSkyColorNoTonemapped | Returns sky RGB color (without tonemapping nor exposure) of the current sky values in the given direction. |
Environment methods | |
isEnvironmentEnabled | Gets IBL (Image Based Lighting) state. |
enableEnvironment | Sets the IBL (Image Based Lighting) on/off. |
getEnvironmentWeight | Gets the value for the global multiplier of all the environment layers. |
setEnvironmentWeight | Sets the value for the global multiplier of all the environment layers. |
getEnvironmentLayer | Gets the parameters of each environment layer. |
setEnvironmentLayer | Sets the parameters of each environment layer. |
Material methods | |
readMaterial | Reads a material from file (MXM). |
createMaterial | Creates a new material. |
getMaterial | Gets a material by name. |
addMaterial | Adds a material to the scene. |
eraseUnusedMaterials | Remove unused materials from the scene. |
setOverrideMaterial | Sets the path and state (enabled/disabled) of the material that overrides all materials of the scene (except emitter materials). |
getOverrideMaterial | gets the path and state (enabled/disabled) of the material that overrides all materials of the scene (except emitter materials). |
setDefaultMaterial | Sets the path and state (enabled/disabled) of the material that will be used for all the objects/triangles without material. |
getDefaultMaterial | Gets the path and state (enabled/disabled) of the material that will be used for all the objects/triangles without material. |
Render methods | |
setRenderParameter | Sets render parameter. |
getRenderParameter | Gets render parameter. |
Tonemapping methods | |
getToneMapping | Gets tonemapping values. |
setToneMapping | Sets tonemapping values. |
getActiveToneMapping | Gets the active tonemapping used ("BASIC" or "ADVANCED" ). |
setAdvancedToneMapping | Deprecated. |
getAdvancedToneMapping | Deprecated. |
Read/write scene methods | |
readMXS | Reads scene from disk. |
writeMXS | Writes scene to disk. |
Glare methods | |
setDiffraction | Sets diffraction parameters. |
getDiffraction | Gets diffraction parameters. |
enableDiffraction | Enables diffraction. |
disableDiffraction | Disables diffraction. |
setColorSpace | Sets the output color space used by the render engine. |
getColorSpace | Gets the output color space used by the render engine. |
getColorSpaceGamma | Returns the gamma used by the active color space. |
Miscellaneous methods | |
getLastError | Returns the latest error occurred. |
getLastErrorString | Returns an human readable string containing the latest error occurred. |
getDependencies | Returns all the extern dependencies of the scene (textures, ior files, hdr files, etc). |
getObjectsCount | Returns the number of objects in the scene. |
getMaterialsCount | Returns the number of materials in the scene. |
getCamerasCount | Returns the number of cameras in the scene. |
getTriangleGroupsCount | Returns the number of triangle groups in the scene. Deprecated. |
getSceneInfo | Returns by reference a Cmaxwell::CsceneInfo structure with information about the scene. |
computeFresnelGraph | --TODO-- |
computeAbbeGraph | --TODO-- |
getCorrelatedColorTemperature | Gets the correlated RGB values given the temperature color. |
generateUuid | Generates an unique ID. |
searchFileInCommonPaths | Looks for the given file in all of the searching paths of the scene. |
createGeometryLoaderObject | --TODO-- |
createGeometryProceduralObject | --TODO-- |
applySkyExtension | --TODO-- |
applySceneModifierExtension | --TODO-- |
Static Methods
Name | Description | ||
---|---|---|---|
getEngineVersion | Returns the current engine version. | ||
getSdkVersion | Returns the current SDK version. | ||
isDepthSupportedForThisFormat | Returns true if for the given extension the depth is valid. | ||
getHighestDepthSupportedForThisFormat | Returns the highest bits per plane supported for the given format. | ||
isEmbeddingAlphaSupportedForThisFormat | Returns true if for the given format it is possible embedding the alpha channel. | ||
isEmbeddingAllChannelsSupportedForThisFormat | isTextureExtensionSupported | Returns true if for the given format it is possible embedding all channels in a multilayer file. | |
isTextureExtensionSupported | Returns 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. |
...
Type | Name | In/out | Description |
---|---|---|---|
const char* | pName | in | Cluster name |
Return value
Returns a Cmaxwell::Ccluster object, that is a reference to the cluster added to the scene.
...
0 = Error getting dependencies.
1 = Success.
Python
String list containing all the dependencies.
Anchor | ||||
---|---|---|---|---|
|
generateUuid
...
getObjectsCount
Returns the number of objects in the scene.
Language | Syntax |
---|---|
C++ | byte generateUuid( char** uuid getObjectsCount( dword& nObjects ) |
Python | str generateUuidint getObjectsCount() |
Return value
C++
0 = Error generating unique IDgetting objects count.
1 = Success.
Python
String containing the unique IDNumber of objects.
Anchor | ||||
---|---|---|---|---|
|
...
getMaterialsCount
Looks for the given file in all of the searching paths of Returns the number of materials in the scene.
Language | Syntax |
---|---|
C++ | byte |
Python | str searchFileInCommonPaths( str fileToSearch ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | fileToSearch | in | File to search. | char* | newFoundFile | out | File name of the found file
getMaterialsCount( dword& nMaterials ) | |||
Python | int getMaterialsCount() |
Return value
C++
0 = Error getting materials count.
1 = Success.
Python
Number of materials.
Anchor | ||||
---|---|---|---|---|
|
getCamerasCount
Returns the number of cameras in the scene.
Language | Syntax |
---|---|
C++ | byte getCamerasCount( dword& nCameras ) |
Python | int getCamerasCount() |
Return value
C++
0 = Error getting cameras count.
1 = Success.
Python
Number of cameras.
Anchor | ||||
---|---|---|---|---|
|
getSceneInfo
Returns by reference a CsceneInfo structure with information about the scene.
Language | Syntax |
---|---|
C++ | byte getSceneInfo( CsceneInfo& info ) |
Python | dict getSceneInfo() |
Return value
C++
0 = Error getting scene info.
1 = Success.
Python
Dictionary containing the scene info.
Anchor | ||||
---|---|---|---|---|
|
computeFresnelGraph
--TODO--
Language | Syntax |
---|---|
C++ | void computeFresnelGraph( float* pX, float* pY, dword n, real iorOutgoing ) |
Python | array list[2] computeFresnelGraph( int n, float ioirOutgoing ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
float* | pX | out | Float array of size 'n' containing the fresnel graph in the X axis. It must be allocated before call computeFresnelGraph. --TODO-- |
float* | pY | out | Float array of size 'n' containing the fresnel graph in the Y axis. It must be allocated before call computeFresnelGraph. --TODO-- |
dword | n | in | Size of pX and pY float vectors. |
real | iorOutgoing | in | --TODO-- |
Return value
Python
List containing both (pX and pY) vectors as NumPy arrays.
Anchor | ||||
---|---|---|---|---|
|
computeAbbeGraph
--TODO--
Language | Syntax |
---|---|
C++ | void computeAbbeGraph( float* pX, float* pY, dword n, real nd, real abbe ) |
Python | array list[2] computeAbbeGraph( int n, float nd, float abbe ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
float* | pX | out | Float array of size 'n' containing the abbe graph in the X axis. It must be allocated before call computeAbbeGraph. --TODO-- |
float* | pY | out | Float array of size 'n' containing the abbe graph in the Y axis. It must be allocated before call computeAbbeGraph. --TODO-- |
dword | n | in | Size of pX and pY float vectors. |
real | nd | in | --TODO-- |
real | abbe | in | --TODO-- |
Return value
Python
List containing both (pX and pY) vectors as NumPy arrays.
Anchor | ||||
---|---|---|---|---|
|
getCorrelatedColorTemperature
Gets the correlated RGB values given the temperature color.
Language | Syntax |
---|---|
C++ | byte getCorrelatedColorTemperature( Crgb& rgb, real temperature ) |
Python | Crgb getCorrelatedColorTemperature( float temperature ) |
Return value
C++
0 = Error getting correlated Crgb. i.e. a negative temperature passed as input.
1 = Success.
Python
Crgb color correlated to the temperature color passed as input.
Anchor | ||||
---|---|---|---|---|
|
generateUuid
Generates a free uuid useful for storing unique identifiers in scene entities using setUuid() method. The caller owns the pointer passed as argument. It is responsability of the caller to allocate and destroy the passed pointer.
Language | Syntax |
---|---|
C++ | byte generateUuid( char** uuid ) |
Python | str generateUuid() |
Return value
C++
0 = Error generating unique ID.
1 = Success.
Python
String containing the unique ID.
Anchor | ||||
---|---|---|---|---|
|
searchFileInCommonPaths
Looks for the given file in all of the searching paths of the scene.
Language | Syntax |
---|---|
C++ | byte searchFileInCommonPaths( const char* fileToSearch, char*& newFoundFile ) |
Python | str searchFileInCommonPaths( str fileToSearch ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | fileToSearch | in | File to search. |
char* | newFoundFile | out | File name of the found file. |
Return value
C++
0 = File not found.
1 = File founded and returned in newFoundFile.
Python
0 = File not found.
String containing found file name.
Anchor | ||||
---|---|---|---|---|
|
getEngineVersion
Returns the current version of Maxwell.
Language | Syntax |
---|---|
C++ | void getEngineVersion( char pVersion[64] ) |
Python | str getEngineVersion() |
Anchor | ||||
---|---|---|---|---|
|
getSdkVersion
Returns the current version of the Maxwell SDK.
Language | Syntax |
---|---|
C++ | void getSdkVersion( char pVersion[64] ) |
Python | str getSdkVersion() |
Anchor | ||||
---|---|---|---|---|
|
isDepthSupportedForThisFormat
Returns true if for the given extension the depth is valid. In example:
- isDepthSupportedForThisFormat( "exr", 32 ) returns true.
- isDepthSupportedForThisFormat( "jpg", 16 ) returns false.
Language | Syntax |
---|---|
C++ | bool isDepthSupportedForThisFormat( const char* extension, byte bitDepth ) |
Python | bool isDepthSupportedForThisFormat( str extension, int bitDepth ) |
Anchor | ||||
---|---|---|---|---|
|
getHighestDepthSupportedForThisFormat
Returns the highest bits per plane supported for the given format. In example:
- getHighestDepthSupportedForThisFormat( "exr" ) returns 32.
- getHighestDepthSupportedForThisFormat( "jpg" ) returns 8.
Language | Syntax |
---|---|
C++ | byte isDepthSupportedForThisFormat( const char* extension ) |
Python | int isDepthSupportedForThisFormat( str extension ) |
Anchor | ||||
---|---|---|---|---|
|
isEmbeddingAlphaSupportedForThisFormat
Returns true if for the given format it is possible embedding the alpha channel.
- isEmbeddingAlphaSupportedForThisFormat( "tga" ) returns true.
- isEmbeddingAlphaSupportedForThisFormat( "jpg" ) returns false.
Language | Syntax |
---|---|
C++ | byte isEmbeddingAlphaSupportedForThisFormat( const char* extension ) |
Python | int isEmbeddingAlphaSupportedForThisFormat( str extension ) |
Anchor | ||||
---|---|---|---|---|
|
isEmbeddingAllChannelsSupportedForThisFormat
Returns true if for the given format it is possible embedding all channels in a multilayer file.
- isEmbeddingAllChannelsSupportedForThisFormat( "tif" ) returns true.
- isEmbeddingAllChannelsSupportedForThisFormat( "exr" ) returns true.
- rest of formats : returns false.
Language | Syntax |
---|---|
C++ | byte isEmbeddingAllChannelsSupportedForThisFormat( const char* extension ) |
Python | int isEmbeddingAllChannelsSupportedForThisFormat( str extension ) |
Anchor | ||||
---|---|---|---|---|
|
isTextureExtensionSupported
Returns true if the extension of the given texture path is supported by the render engine.
Language | Syntax |
---|---|
C++ | byte isTextureExtensionSupported( const char* extension ) |
Python | int isTextureExtensionSupported( str extension ) |
Anchor | ||||
---|---|---|---|---|
|
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.
Language | Syntax |
---|---|
C++ | byte getSquareSwatchIES( const char* file, int resolution, unsigned char*& buf ) |
Python | list getSquareSwatchIES( str file, int resolution ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | file | in | IES/EULUM file name. |
int | resolution | in | Resolution requested. Output buffer will have resolution * resolution * 3 values. |
unsigned char*& | buf | out | Output buffer containing the emission patter. |
Return value
C++
0 = Error getting IES/EULUM emission pattern.
1 = Success.
Python
List of size = resolution * resolution * 3, containing the RGB emission pattern.
Anchor | ||||
---|---|---|---|---|
|
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.
Language | Syntax |
---|---|
C++ | byte getSolidLobeIES( const char* fileName, unsigned int& numPoints, unsigned int& numTriangles, unsigned int*& faces, float*& points, const char* pAxisSystem = NULL ) |
Python | dict getSolidLobeIES( str filename, str pAxisSystem = "" ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | fileName | in | IES/EULUM file name. |
unsigned int& | numPoints | out | Number of points returned. |
unsigned int& | numTriangles | out | Number of triangles returned. |
unsigned int*& | faces | out | 0-based indices into points array : v00, v01, v02, v10, v11, v12, ..... |
float*& | points | out | Array of vertices, x0, y0, z0, x1, y1, z1, ..... |
const char* | pAxisSystem | in | Same as setInputDataType. |
Return value
C++
0 = File not foundError getting IES/EULUM 3D emission pattern.
1 = File founded and returned in newFoundFileSuccess.
Python
0 = File not found.String containing found file nameDictionary containing 'numPoints', 'points', 'numTriangles' and 'faces'.
Anchor | ||||
---|---|---|---|---|
|
...
Value | C++ | Python |
---|---|---|
0 | Cmaxwell::ALL_CLEAN | Cmaxwell.ALL_CLEAN |
1 | Cmaxwell::CAMERA_DIRTY | Cmaxwell.CAMERA_DIRTY |
2 | Cmaxwell::MATERIALS_ASSIGNMENTS_DIRTY | Cmaxwel.MATERIALS_ASSIGNMENTS_DIRTY |
8 | Cmaxwell::GEOMETRY_DIRTY | Cmaxwell.GEOMETRY_DIRTY |
16 | Cmaxwell::VOXELIZATION_DIRTY | Cmaxwell.VOXELIZATION_DIRTY |
32 | Cmaxwell::SKY_OR_HDR_DIRTY | Cmaxwell.SKY_OR_HDR_DIRTY |
64 | Cmaxwell::DEFAULT_OR_OVERRIDE_MATERIAL_DIRTY | Cmaxwell.DEFAULT_OR_OVERRIDE_MATERIAL_DIRTY |
0x3F | Cmaxwell::ALL_DIRTY | Cmaxwell.ALL_DIRTY |
...