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. |
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-- |
...
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.
...
Language | Syntax |
---|---|
C++ | byte getSunRotation( real& rotation ) |
Python | float getSunRotation() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
real | rotation | out | Ground rotation of the sky hemisphere (from 0 to 2PI radians). |
...
Language | Syntax |
---|---|
C++ | byte getSunProperties( byte& enabled, real& sunTemperature, real& sunPowerScaleFactor ) |
Python | {'enabled','sunTemperature','sunPowerScaleFactor'} getSunProperties() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
byte | enabled | out | Sun enabled (1) or disabled (0). |
real | sunTemperature | out | Temperature in kelvins. |
real | sunPowerScaleFactor | out | Total power refered to the Earth's sun. For example a value of 0.8 would mean a sun emitting 0.8 times less energy than ours. Default: 1.0. Range: is allowed any value greater than 0. |
...
Language | Syntax |
---|---|
C++ | byte setSunProperties( byte enabled, real sunTemperature, real sunPowerScaleFactor ) |
Python | int setSunProperties( int enabled, float sunTemperature, float sunPowerScaleFactor ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
byte | enabled | in | Sun enabled (1) or disabled (0). |
real | sunTemperature | in | Temperature in kelvins. |
real | sunPowerScaleFactor | in | Total power refered to the Earth's sun. For example a value of 0.8 would mean a sun emitting 0.8 times less energy than ours. Default: 1.0. Range: is allowed any value greater than 0. |
...
Language | Syntax |
---|---|
C++ | byte getPhysicalSkyAtmosphere( real& intensity, real& ozone, real& water, real& angstromTurbidity, real& wavelengthTurbidity, real& aerosolAlbedo, real& asimmetryFactor, real& planetReflectance ) |
Python | { float 'intensity, float 'ozone', float 'water', float 'angstromTurbidity', float 'wavelengthTurbidity', float 'aerosolAlbedo', float 'asimmetryFactor', float 'planetReflectance' } getPhysicalSkyAtmosphere() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
real | intensity | out | Intensity weight. Default: 1.0. Range: Any value greater than 0. |
real | ozone | out | (cms) Default: 0.4. Range: Any value greater than 0 (usually between 0 and 1). |
real | water | out | Water vapor (cms). Default: 2.0. Range: Any value greater than 0. |
real | angstromTurbidity | out | Angstrom turbidity coefficient. Default: 0.04. Range: Any value greater than 0. |
real | wavelengthTurbidity | out | Wavelength turbidity exponent. Default 1.2. Range: Any value greater than 0. |
real | aerosolAlbedo | out | Aerosol albedo. Default 0.8. Range: (0-1). |
real | asimmetryFactor | out | "Anisotropy" of aerosol. Default: 0.7. Range (-0.99999, 0.99999). |
real | planetReflectance | out | Planet reflectance. From 0 to 1. |
...
Language | Syntax |
---|---|
C++ | byte setPhysicalSkyAtmosphere( real intensity, real ozone, real water, real angstromTurbidity, real wavelengthTurbidity, real aerosolAlbedo, real asimmetryFactor, real planetReflectance ) |
Python | byte setPhysicalSkyAtmosphere( float intensity, float ozone, float water, float angstromTurbidity, float wavelengthTurbidity, float aerosolAlbedo, float asimmetryFactor, float planetReflectance ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
real | intensity | in | Intensity weight. Default: 1.0. Range: Any value greater than 0. |
real | ozone | in | (cms) Default: 0.4. Range: Any value greater than 0 (usually between 0 and 1). |
real | water | in | Water vapor (cms). Default: 2.0. Range: Any value greater than 0. |
real | angstromTurbidity | in | Angstrom turbidity coefficient. Default: 0.04. Range: Any value greater than 0. |
real | wavelengthTurbidity | in | Wavelength turbidity exponent. Default 1.2. Range: Any value greater than 0. |
real | aerosolAlbedo | in | Aerosol albedo. Default 0.8. Range: (0-1). |
real | asimmetryFactor | in | "Anisotropy" of aerosol. Default: 0.7. Range (-0.99999, 0.99999). |
real | planetReflectance | in | Planet reflectance. From 0 to 1. |
...
Language | Syntax |
---|---|
C++ | byte setActiveSky( const char* pActiveSky ) |
Python | int setActiveSky( str pActiveSky ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pActiveSky | in | Active sky name. "constant " = constant sky, "physical" = physical sky, NULL = no sky. |
...
Language | Syntax |
---|---|
C++ | byte getEnvironmentLayer( const char* pLayerName, const char*& pBitmapFileName, byte& state, bool& sphericalMapping, bool& interpolate, real& intensity, real& uTile, real& vTile, real& uTileOffset, real& vTileOffset ) |
Python | { str 'bitmapFileName', int 'state', bool 'sphericalMapping', bool 'interpolate', float 'intensity', float 'uTile', float 'vTile', float 'uTileOffset', float 'TileOffset'} getEnvironmentLayer( str pLayerName ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pLayerName | in | Sets the layer type. Must be "background", "reflection", "refraction" or "illumination". |
const char* | pBitmapFileName | out | Path of the texture file. |
byte | state | out | Channel state: 0 = Disabled; 1 = Enabled; 2 = Use active sky instead. Default: Enabled. |
bool | sphericalMapping | out | Spherical mapping enabled. When pLayerName = "background" must be false. |
bool | interpolate | out | If true, pixel values are interpolated. |
real | intensity | out | Intensity range: From 0.0001 to 1000.0 (Default: 1.0). |
real | uTile | out | Tile range: From 0.0001 to 1000.0 (default 1.0). |
real | vTile | out | Tile range: From 0.0001 to 1000.0 (default 1.0). |
real | uTileOffset | out | Offset range: From 0.0 to 360.0 (default 0.0). |
real | vTileOffset | out | Offset range: From 0.0 to 360.0 (default 0.0). |
...
Language | Syntax |
---|---|
C++ | byte setEnvironmentLayer( const char* pLayerName, const char* pBitmapFileName, byte state, bool sphericalMapping, bool interpolate, real intensity, real uTile, real vTile, real uTileOffset, real vTileOffset ) |
Python | int setEnvironmentLayer( str pLayerName, str pBitmapFilename, int state, bool sphericalMapping, bool interpolate, float intensity, float uTile, float vTile, float uTileOffset, float vTileOffset ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pLayerName | in | Sets the layer type. Must be "background", "reflection", "refraction" or "illumination". |
const char* | pBitmapFileName | in | Path of the texture file. |
byte | state | in | Channel state: 0 = Disabled; 1 = Enabled; 2 = Use active sky instead. Default: Enabled. |
bool | sphericalMapping | in | Spherical mapping enabled. When pLayerName = "background" must be false. |
bool | interpolate | in | If true, pixel values are interpolated. |
real | intensity | in | Intensity range: From 0.0001 to 1000.0 (Default: 1.0). |
real | uTile | in | Tile range: From 0.0001 to 1000.0 (default 1.0). |
real | vTile | in | Tile range: From 0.0001 to 1000.0 (default 1.0). |
real | uTileOffset | in | Offset range: From 0.0 to 360.0 (default 0.0). |
real | vTileOffset | in | Offset range: From 0.0 to 360.0 (default 0.0). |
...
Language | Syntax |
---|---|
C++ | void setOverrideMaterial( const char* pPathMaterial ) |
void setOverrideMaterial( bool enabled ) | |
Python | void setOverrideMaterial( str pPathMaterial ) |
void setOverrideMaterial( bool enabled ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pPathMaterial | in | MXM file name of the override material. |
bool | enabled | in | Sets override material state (enabled/disabled). |
...
Language | Syntax |
---|---|
C++ | void setDefaultMaterial( const char* pPathMaterial ) |
void setDefaultMaterial( bool enabled ) | |
Python | void setDefaultMaterial( str pPathMaterial ) |
void setDefaultMaterial( bool enabled ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pPathMaterial | in | MXM file name of the default material. |
bool | enabled | in | Sets default material state (enabled/disabled). |
...
Language | Syntax |
---|---|
C++ | byte setRenderParameter( const char* pParameterName, dword size, const void* pParameterValue ) |
byte getRenderParameter( const char* pParameterName, dword size, void* pParameterValue ) | |
Python | int setRenderParameter( str pParameterName, value ) |
value getRenderParameter( str pParameterName ) |
Parameters
Type | Name | In/Out | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
const char* | pParameterName | in | Parameter name (see pParameterValue for parameter name list). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dword | size | in | Size of the parameter in bytes (see pParameterValue to view sizes by parameter). Note: parameter size is not needed in Python. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
void* | pParameterValue | in/out | Parameter value, according to the following correspondences:
|
...
Language | Syntax |
---|---|
C++ | byte readMXS( const char* pPath, const Cmaxwell::CoptionsReadMXS& mxsOptions = CoptionsReadMXS() ) |
Python | int readMXS( str pPath, CoptionsReadMXS mxsOptions = CoptionsReadMXS() ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
const char* | pPath | in | MXS file name. |
Cmaxwell::CoptionsReadMXS | mxsOptions | in | Read options. Useful to skip, in example, meshes in huge scenes. |
...
Language | Syntax |
---|---|
C++ | byte setDiffraction( real intensity, real frequency, const char* pApperture, const char* pObstacle = NULL ) |
Python | int setDiffraction( float intensity, float frequency, str pAperture, str pObstacle = 0 ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
real | intensity | in | Diffraction intensity. |
real | frequency | in | Diffraction frequency. |
const char* | pApperture | in | Diffraction apperture map path. |
const char* | pObstacle | in | Diffraction obstacle map path. |
...
Language | Syntax |
---|---|
C++ | byte getDiffraction( bool& isEnabled, real& intensity, real& frequency, const char** pApperture, const char** pObstacle ) |
Python | { bool 'isEnabled', float 'intensity', float 'frequence', str 'aperture', str 'obstacle' } getDiffraction() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
bool | isEnabled | out | Diffraction state (enabled/disabled). |
real | intensity | out | Diffraction intensity. |
real | frequency | out | Diffraction frequency. |
const char* | pApperture | out | Diffraction apperture map path. |
const char* | pObstacle | out | Diffraction obstacle map path. |
...
Language | Syntax |
---|---|
C++ | byte setColorSpace( dword type ) |
Python | int setColorSpace( int type ) |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
dword | type | in | Color space selected. See COLOR_SPACES enum. |
...
Language | Syntax |
---|---|
C++ | void getColorSpace( dword& type ) |
Python | int getColorSpace() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
dword | type | out | (C++) Color space used. See COLOR_SPACES enum. |
...
Language | Syntax |
---|---|
C++ | byte getDependencies( dword& numDependencies, char**& paths ) |
Python | str[] getDependencies() |
Parameters
Type | Name | In/Out | Description |
---|---|---|---|
dword | numDependencies | out | Number of dependencies. |
char** | paths | out | Dependencies' file names. |
...
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-- |
...
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-- |
...
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. |
...
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. |
...
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. |
...
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 |
...