# Geom

> Python API types

### AABB

AABB stands for Axis Aligned Bounding Box. It is a bounding volume which is aligned with the axes of the coordinates system.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| low  | Point3 |         |             |
| high | Point3 |         |             |

Functions accepting this type or a list of this type as a parameter:

* [algo.sawWithAABB](./algo_functions#sawwithaabb)
* [algo.sawWithOctree](./algo_functions#sawwithoctree)
* [algo.mapUvOnCustomAABB](./algo_functions#mapuvoncustomaabb)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [scene.findPartOccurrencesInAABB](./scene_functions#findpartoccurrencesinaabb)

***

### AABR

AABR stands for Axis Aligned Bounding Rectangle. It is a bounding surface which is aligned with the axes of the coordinates system.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| low  | Point2 |         |             |
| high | Point2 |         |             |

Functions accepting this type or a list of this type as a parameter:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)

***

### Affine

Affine transformation.
Fields

| Type   | Name    | Default             | Description |
| ------ | ------- | ------------------- | ----------- |
| origin | Point3  | geom.Point3(0,0,0)  |             |
| xAxis  | Vector3 | geom.Vector3(1,0,0) |             |
| yAxis  | Vector3 | geom.Vector3(0,1,0) |             |
| zAxis  | Vector3 | geom.Vector3(0,0,1) |             |

Functions accepting this type or a list of this type as a parameter:

* [geom.fromAffine](./geom_functions#fromaffine)

***

### Angle

Angle defines an angle in degree (in scripts). In the GUI, the unit can be modified.
Base class: [core.Double](./core_types#double)


**Frame:**
```mermaid
classDiagram
    class Angle
    Double <|-- Angle
```

Functions accepting this type or a list of this type as a parameter:

* [algo.crackEdges](./algo_functions#crackedges)
* [algo.createNormals](./algo_functions#createnormals)
* [algo.decimate](./algo_functions#decimate)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.identifyPatches](./algo_functions#identifypatches)
* [algo.identifySharpEdges](./algo_functions#identifysharpedges)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [scene.addLightComponent](./scene_functions#addlightcomponent)
* [scene.createLight](./scene_functions#createlight)
* [scene.rotate](./scene_functions#rotate)
* [view.fitCamera](./view_functions#fitcamera)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.evalDecimateErrorForTarget](./algo_functions#evaldecimateerrorfortarget)
* [algo.filletMesh](./algo_functions#filletmesh)
* [algo.filterMeshVertexColors](./algo_functions#filtermeshvertexcolors)
* [algo.findBestPivotBetweenOccurrences](./algo_functions#findbestpivotbetweenoccurrences)
* [algo.getOptimalTextureResolution](./algo_functions#getoptimaltextureresolution)
* [algo.getVisualComparisonFootprint](./algo_functions#getvisualcomparisonfootprint)
* [algo.optimizeTextureSize](./algo_functions#optimizetexturesize)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.bakeDepthMap](./algo_functions#bakedepthmap)
* [algo.bakeValidityMap](./algo_functions#bakevaliditymap)
* [algo.convexDecomposition](./algo_functions#convexdecomposition)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.sawWithOctree](./algo_functions#sawwithoctree)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.alignUVIslands](./algo_functions#alignuvislands)
* [algo.automaticUVMapping](./algo_functions#automaticuvmapping)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [algo.mergeUVIslandsRelaxed](./algo_functions#mergeuvislandsrelaxed)
* [algo.scaleUV](./algo_functions#scaleuv)
* [algo.unwrapUV](./algo_functions#unwrapuv)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [algo.createVertexWeightsFromVertexColors](./algo_functions#createvertexweightsfromvertexcolors)
* [algo.createVertexWeightsFromVisibilityAttributes](./algo_functions#createvertexweightsfromvisibilityattributes)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [geom.orthographicMatrix](./geom_functions#orthographicmatrix)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [material.convertHeightMapToNormalMap](./material_functions#convertheightmaptonormalmap)
* [material.filterAO](./material_functions#filterao)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [material.convertFloat32To8BitsImage](./material_functions#convertfloat32to8bitsimage)
* [material.getImageColorBilinear](./material_functions#getimagecolorbilinear)
* [material.rotateImage](./material_functions#rotateimage)
* [material.stretchImage](./material_functions#stretchimage)
* [material.translateImage](./material_functions#translateimage)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [scene.createOccurrenceFromText](./scene_functions#createoccurrencefromtext)
* [scene.generateOctaViews](./scene_functions#generateoctaviews)
* [scene.generateOctree](./scene_functions#generateoctree)
* [scene.createCapsule](./scene_functions#createcapsule)
* [scene.createCone](./scene_functions#createcone)
* [scene.createCube](./scene_functions#createcube)
* [scene.createCylinder](./scene_functions#createcylinder)
* [scene.createImmersion](./scene_functions#createimmersion)
* [scene.createPlane](./scene_functions#createplane)
* [scene.createSphere](./scene_functions#createsphere)
* [scene.createTorus](./scene_functions#createtorus)
* [scene.addLightComponent](./scene_functions#addlightcomponent)
* [scene.createLight](./scene_functions#createlight)
* [scene.addKeyframe](./scene_functions#addkeyframe)
* [scene.decimateAnimChannelBySegment](./scene_functions#decimateanimchannelbysegment)
* [scene.updateSphereProber](./scene_functions#updatesphereprober)
* [view.playAnimation](./view_functions#playanimation)
* [view.setAnimationSpeed](./view_functions#setanimationspeed)

***

### Area

Area defines a surface in quadric meters (in scripts). In the GUI, the unit can be modified.
Base class: [core.Double](./core_types#double)


**Frame:**
```mermaid
classDiagram
    class Area
    Double <|-- Area
```

Functions accepting this type or a list of this type as a parameter:

* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.evalDecimateErrorForTarget](./algo_functions#evaldecimateerrorfortarget)
* [algo.filletMesh](./algo_functions#filletmesh)
* [algo.filterMeshVertexColors](./algo_functions#filtermeshvertexcolors)
* [algo.findBestPivotBetweenOccurrences](./algo_functions#findbestpivotbetweenoccurrences)
* [algo.getOptimalTextureResolution](./algo_functions#getoptimaltextureresolution)
* [algo.getVisualComparisonFootprint](./algo_functions#getvisualcomparisonfootprint)
* [algo.optimizeTextureSize](./algo_functions#optimizetexturesize)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.bakeDepthMap](./algo_functions#bakedepthmap)
* [algo.bakeValidityMap](./algo_functions#bakevaliditymap)
* [algo.convexDecomposition](./algo_functions#convexdecomposition)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.sawWithOctree](./algo_functions#sawwithoctree)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.alignUVIslands](./algo_functions#alignuvislands)
* [algo.automaticUVMapping](./algo_functions#automaticuvmapping)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [algo.mergeUVIslandsRelaxed](./algo_functions#mergeuvislandsrelaxed)
* [algo.scaleUV](./algo_functions#scaleuv)
* [algo.unwrapUV](./algo_functions#unwrapuv)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [algo.createVertexWeightsFromVertexColors](./algo_functions#createvertexweightsfromvertexcolors)
* [algo.createVertexWeightsFromVisibilityAttributes](./algo_functions#createvertexweightsfromvisibilityattributes)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [geom.orthographicMatrix](./geom_functions#orthographicmatrix)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [material.convertHeightMapToNormalMap](./material_functions#convertheightmaptonormalmap)
* [material.filterAO](./material_functions#filterao)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [material.convertFloat32To8BitsImage](./material_functions#convertfloat32to8bitsimage)
* [material.getImageColorBilinear](./material_functions#getimagecolorbilinear)
* [material.rotateImage](./material_functions#rotateimage)
* [material.stretchImage](./material_functions#stretchimage)
* [material.translateImage](./material_functions#translateimage)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [scene.createOccurrenceFromText](./scene_functions#createoccurrencefromtext)
* [scene.generateOctaViews](./scene_functions#generateoctaviews)
* [scene.generateOctree](./scene_functions#generateoctree)
* [scene.createCapsule](./scene_functions#createcapsule)
* [scene.createCone](./scene_functions#createcone)
* [scene.createCube](./scene_functions#createcube)
* [scene.createCylinder](./scene_functions#createcylinder)
* [scene.createImmersion](./scene_functions#createimmersion)
* [scene.createPlane](./scene_functions#createplane)
* [scene.createSphere](./scene_functions#createsphere)
* [scene.createTorus](./scene_functions#createtorus)
* [scene.addLightComponent](./scene_functions#addlightcomponent)
* [scene.createLight](./scene_functions#createlight)
* [scene.addKeyframe](./scene_functions#addkeyframe)
* [scene.decimateAnimChannelBySegment](./scene_functions#decimateanimchannelbysegment)
* [scene.updateSphereProber](./scene_functions#updatesphereprober)
* [view.playAnimation](./view_functions#playanimation)
* [view.setAnimationSpeed](./view_functions#setanimationspeed)

***

### Array3

Array of 3 [core.Double](./core_types#double)

Functions accepting this type or a list of this type as a parameter:

* [material.transformImage](./material_functions#transformimage)

***

### Array4

Array of 4 [core.Double](./core_types#double)

Functions accepting this type or a list of this type as a parameter:

* [algo.applyUvTransform](./algo_functions#applyuvtransform)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.decomposeTransform](./geom_functions#decomposetransform)
* [geom.fromLookAtMatrix](./geom_functions#fromlookatmatrix)
* [geom.getMaxScale](./geom_functions#getmaxscale)
* [geom.invertMatrix](./geom_functions#invertmatrix)
* [geom.matrixToQuaternion](./geom_functions#matrixtoquaternion)
* [geom.multiplyMatrices](./geom_functions#multiplymatrices)
* [geom.multiplyMatrixPoint](./geom_functions#multiplymatrixpoint)
* [geom.multiplyMatrixVector](./geom_functions#multiplymatrixvector)
* [geom.toTRS](./geom_functions#totrs)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [scene.applyTransformation](./scene_functions#applytransformation)
* [scene.setLocalMatrix](./scene_functions#setlocalmatrix)
* [scene.setPivotOnly](./scene_functions#setpivotonly)

***

### Axis

Enum of [core.Int](./core_types#int)

| Name | Value |
| ---- | ----- |
| X    | 0     |
| Y    | 1     |
| Z    | 2     |

***

### AxisPlane

Enum of [core.Int](./core_types#int)

| Name | Value |
| ---- | ----- |
| YZ   | 0     |
| ZX   | 1     |
| XY   | 2     |

Functions accepting this type or a list of this type as a parameter:

* [scene.createSymmetry](./scene_functions#createsymmetry)

***

### CameraCalibration

Calibration of a pinhole camera (intrisic+distortion parameters).
Fields

| Type        | Name   | Default | Description |
| ----------- | ------ | ------- | ----------- |
| radial1     | Double | 0       |             |
| radial2     | Double | 0       |             |
| radial3     | Double | 0       |             |
| tangential1 | Double | 0       |             |
| tangential2 | Double | 0       |             |
| focalX      | Double | 1       |             |
| focalY      | Double | 1       |             |
| centerX     | Double | 0       |             |
| centerY     | Double | 0       |             |
| skew        | Double | 0       |             |

***

### Curvatures

Fields

| Type | Name    | Default | Description |
| ---- | ------- | ------- | ----------- |
| k1   | Double  | 0       |             |
| k2   | Double  | 0       |             |
| v1   | Vector3 |         |             |
| v2   | Vector3 |         |             |

***

### CurvaturesList

List of [geom.Curvatures](./geom_types#curvatures)

***

### Distance

Distance defines a distance in millimeters (in scripts). In the GUI, the unit can be modified.
Base class: [core.Double](./core_types#double)


**Frame:**
```mermaid
classDiagram
    class Distance
    Double <|-- Distance
```

Functions accepting this type or a list of this type as a parameter:

* [algo.assembleCAD](./algo_functions#assemblecad)
* [algo.decimate](./algo_functions#decimate)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.decimatePointClouds](./algo_functions#decimatepointclouds)
* [algo.extractNeutralAxis](./algo_functions#extractneutralaxis)
* [algo.filterHiddenPolygons](./algo_functions#filterhiddenpolygons)
* [algo.listFeatures](./algo_functions#listfeatures)
* [algo.mergeVertices](./algo_functions#mergevertices)
* [algo.noiseMesh](./algo_functions#noisemesh)
* [algo.removeHoles](./algo_functions#removeholes)
* [algo.repairCAD](./algo_functions#repaircad)
* [algo.sweep](./algo_functions#sweep)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.transferUV](./algo_functions#transferuv)
* [algo.voxelizePointClouds](./algo_functions#voxelizepointclouds)
* [algo.beginBakingSession](./algo_functions#beginbakingsession)
* [algo.beginVertexBakingSession](./algo_functions#beginvertexbakingsession)
* [algo.explodeByVoxel](./algo_functions#explodebyvoxel)
* [algo.createVisibilityInformationAdvanced](./algo_functions#createvisibilityinformationadvanced)
* [algo.findOccludedPartOccurrencesAdvanced](./algo_functions#findoccludedpartoccurrencesadvanced)
* [algo.removeOccludedGeometriesAdvanced](./algo_functions#removeoccludedgeometriesadvanced)
* [algo.createOcclusionMesh](./algo_functions#createocclusionmesh)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.marchingCubes](./algo_functions#marchingcubes)
* [algo.proxyMesh](./algo_functions#proxymesh)
* [algo.retopologize](./algo_functions#retopologize)
* [algo.voxelize](./algo_functions#voxelize)
* [algo.mapUvOnAABB](./algo_functions#mapuvonaabb)
* [algo.mapUvOnCubicAABB](./algo_functions#mapuvoncubicaabb)
* [algo.mapUvOnCustomAABB](./algo_functions#mapuvoncustomaabb)
* [algo.mapUvOnMBB](./algo_functions#mapuvonmbb)
* [algo.resizeUVsToTextureSize](./algo_functions#resizeuvstotexturesize)
* [algo.createCavityOccurrences](./algo_functions#createcavityoccurrences)
* [algo.remeshSurfacicHoles](./algo_functions#remeshsurfacicholes)
* [algo.removeDegeneratedPolygons](./algo_functions#removedegeneratedpolygons)
* [algo.repairMesh](./algo_functions#repairmesh)
* [algo.sewBoundary](./algo_functions#sewboundary)
* [algo.vertexOffset](./algo_functions#vertexoffset)
* [algo.orientPolygonFacesAdvanced](./algo_functions#orientpolygonfacesadvanced)
* [cad.setUnitLength](./cad_functions#setunitlength)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createModel](./cad_functions#createmodel)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [geom.fromLookAtMatrix](./geom_functions#fromlookatmatrix)
* [geom.orthographicMatrix](./geom_functions#orthographicmatrix)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [scene.getViewpointsFromCavities](./scene_functions#getviewpointsfromcavities)
* [scene.getPartOccurrencesGroupedBySimilarity](./scene_functions#getpartoccurrencesgroupedbysimilarity)
* [scene.findDuplicatedPartOccurrences](./scene_functions#findduplicatedpartoccurrences)
* [scene.findPartOccurrencesByMaximumSize](./scene_functions#findpartoccurrencesbymaximumsize)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.evalDecimateErrorForTarget](./algo_functions#evaldecimateerrorfortarget)
* [algo.filletMesh](./algo_functions#filletmesh)
* [algo.filterMeshVertexColors](./algo_functions#filtermeshvertexcolors)
* [algo.findBestPivotBetweenOccurrences](./algo_functions#findbestpivotbetweenoccurrences)
* [algo.getOptimalTextureResolution](./algo_functions#getoptimaltextureresolution)
* [algo.getVisualComparisonFootprint](./algo_functions#getvisualcomparisonfootprint)
* [algo.optimizeTextureSize](./algo_functions#optimizetexturesize)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.bakeDepthMap](./algo_functions#bakedepthmap)
* [algo.bakeValidityMap](./algo_functions#bakevaliditymap)
* [algo.convexDecomposition](./algo_functions#convexdecomposition)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.sawWithOctree](./algo_functions#sawwithoctree)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.alignUVIslands](./algo_functions#alignuvislands)
* [algo.automaticUVMapping](./algo_functions#automaticuvmapping)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [algo.mergeUVIslandsRelaxed](./algo_functions#mergeuvislandsrelaxed)
* [algo.scaleUV](./algo_functions#scaleuv)
* [algo.unwrapUV](./algo_functions#unwrapuv)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [algo.createVertexWeightsFromVertexColors](./algo_functions#createvertexweightsfromvertexcolors)
* [algo.createVertexWeightsFromVisibilityAttributes](./algo_functions#createvertexweightsfromvisibilityattributes)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [geom.orthographicMatrix](./geom_functions#orthographicmatrix)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [material.convertHeightMapToNormalMap](./material_functions#convertheightmaptonormalmap)
* [material.filterAO](./material_functions#filterao)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [material.convertFloat32To8BitsImage](./material_functions#convertfloat32to8bitsimage)
* [material.getImageColorBilinear](./material_functions#getimagecolorbilinear)
* [material.rotateImage](./material_functions#rotateimage)
* [material.stretchImage](./material_functions#stretchimage)
* [material.translateImage](./material_functions#translateimage)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [scene.createOccurrenceFromText](./scene_functions#createoccurrencefromtext)
* [scene.generateOctaViews](./scene_functions#generateoctaviews)
* [scene.generateOctree](./scene_functions#generateoctree)
* [scene.createCapsule](./scene_functions#createcapsule)
* [scene.createCone](./scene_functions#createcone)
* [scene.createCube](./scene_functions#createcube)
* [scene.createCylinder](./scene_functions#createcylinder)
* [scene.createImmersion](./scene_functions#createimmersion)
* [scene.createPlane](./scene_functions#createplane)
* [scene.createSphere](./scene_functions#createsphere)
* [scene.createTorus](./scene_functions#createtorus)
* [scene.addLightComponent](./scene_functions#addlightcomponent)
* [scene.createLight](./scene_functions#createlight)
* [scene.addKeyframe](./scene_functions#addkeyframe)
* [scene.decimateAnimChannelBySegment](./scene_functions#decimateanimchannelbysegment)
* [scene.updateSphereProber](./scene_functions#updatesphereprober)
* [view.playAnimation](./view_functions#playanimation)
* [view.setAnimationSpeed](./view_functions#setanimationspeed)

***

### DistanceList

List of [geom.Distance](./geom_types#distance)

***

### ExtendedBox

A box defined by a location and extension sizes.
Fields

| Type     | Name     | Default | Description |
| -------- | -------- | ------- | ----------- |
| position | Point3   |         |             |
| extentX  | Distance | 1       |             |
| extentY  | Distance | 1       |             |
| extentZ  | Distance | 1       |             |

Functions accepting this type or a list of this type as a parameter:

* [scene.findPartOccurrencesInBox](./scene_functions#findpartoccurrencesinbox)

***

### GeomEntity

Base class: [core.Entity](./core_types#entity)

Derived classes:

* [CADEntity](./cad_types#cadentity)
* [Element](./polygonal_types#element)
* [Mesh](./polygonal_types#mesh)
* [Occurrence](./scene_types#occurrence)
* [Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class GeomEntity
    Entity <|-- GeomEntity
        GeomEntity <|-- CADEntity
        GeomEntity <|-- Element
        GeomEntity <|-- Mesh
        GeomEntity <|-- Occurrence
    Occurrence : +core.Ident Id
    Occurrence : +core.String Name
    Occurrence : +core.InheritableBool Visible
    Occurrence : +core.Entity Material
    Occurrence : +geom.Matrix4 Transform
    Occurrence : +core.Entity Prototype
        GeomEntity <|-- Shape
```

Functions accepting this type or a list of this type as a parameter:

* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### MBB

MBB stands for Minimum Bounding Box.
Base class: [geom.OBB](./geom_types#obb)


**Frame:**
```mermaid
classDiagram
    class MBB
    OBB <|-- MBB
```

Functions accepting this type or a list of this type as a parameter:

* [algo.sawWithOBB](./algo_functions#sawwithobb)

***

### Matrix3

A Matrix3 is a 3x3 Matrix, an homogeneous matrix representing a transformation (translation, rotation, scale) in a 2D coordinates system.
Array of 3 [geom.Array3](./geom_types#array3)

Functions accepting this type or a list of this type as a parameter:

* [material.transformImage](./material_functions#transformimage)

***

### Matrix4

A Matrix4 is a 4x4 Matrix, an homogeneous matrix representing a transformation (translation, rotation, scale) in a 3D coordinates system.
Array of 4 [geom.Array4](./geom_types#array4)

Functions accepting this type or a list of this type as a parameter:

* [algo.applyUvTransform](./algo_functions#applyuvtransform)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.decomposeTransform](./geom_functions#decomposetransform)
* [geom.fromLookAtMatrix](./geom_functions#fromlookatmatrix)
* [geom.getMaxScale](./geom_functions#getmaxscale)
* [geom.invertMatrix](./geom_functions#invertmatrix)
* [geom.matrixToQuaternion](./geom_functions#matrixtoquaternion)
* [geom.multiplyMatrices](./geom_functions#multiplymatrices)
* [geom.multiplyMatrixPoint](./geom_functions#multiplymatrixpoint)
* [geom.multiplyMatrixVector](./geom_functions#multiplymatrixvector)
* [geom.toTRS](./geom_functions#totrs)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [polygonal.createJointPlaceholders](./polygonal_functions#createjointplaceholders)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.applyTransformation](./scene_functions#applytransformation)
* [scene.setLocalMatrices](./scene_functions#setlocalmatrices)
* [scene.setLocalMatrix](./scene_functions#setlocalmatrix)
* [scene.setPartsTransforms](./scene_functions#setpartstransforms)
* [scene.setPartsTransformsIndexed](./scene_functions#setpartstransformsindexed)
* [scene.setPivotOnly](./scene_functions#setpivotonly)
* [view.setViewerMatrices](./view_functions#setviewermatrices)

***

### Matrix4List

List of [geom.Matrix4](./geom_types#matrix4)

Functions accepting this type or a list of this type as a parameter:

* [polygonal.createJointPlaceholders](./polygonal_functions#createjointplaceholders)
* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.setLocalMatrices](./scene_functions#setlocalmatrices)
* [scene.setPartsTransforms](./scene_functions#setpartstransforms)
* [scene.setPartsTransformsIndexed](./scene_functions#setpartstransformsindexed)
* [view.setViewerMatrices](./view_functions#setviewermatrices)

***

### Matrix4ListList

List of [geom.Matrix4List](./geom_types#matrix4list)

***

### OBB

OBB stands for Oriented Bounding Box.
Fields

| Type   | Name    | Default | Description |
| ------ | ------- | ------- | ----------- |
| corner | Point3  |         |             |
| xAxis  | Vector3 |         |             |
| yAxis  | Vector3 |         |             |
| zAxis  | Vector3 |         |             |

Derived class: [MBB](./geom_types#mbb)


**Frame:**
```mermaid
classDiagram
    class OBB
        OBB <|-- MBB
```

Functions accepting this type or a list of this type as a parameter:

* [algo.sawWithOBB](./algo_functions#sawwithobb)

***

### Orientation

An orientation can be normal (True) or inverted (False).
Base class: [core.Boolean](./core_types#boolean)


**Frame:**
```mermaid
classDiagram
    class Orientation
    Boolean <|-- Orientation
```

Functions accepting this type or a list of this type as a parameter:

* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [algo.assembleCAD](./algo_functions#assemblecad)
* [algo.bakeImpostor](./algo_functions#bakeimpostor)
* [algo.bakeVertexAttributes](./algo_functions#bakevertexattributes)
* [algo.configureFunctionLogger](./algo_functions#configurefunctionlogger)
* [algo.crackEdges](./algo_functions#crackedges)
* [algo.crackMeshEdges](./algo_functions#crackmeshedges)
* [algo.createNormals](./algo_functions#createnormals)
* [algo.createTangents](./algo_functions#createtangents)
* [algo.decimate](./algo_functions#decimate)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.decimateTarget](./algo_functions#decimatetarget)
* [algo.deleteBRepShapes](./algo_functions#deletebrepshapes)
* [algo.deletePatches](./algo_functions#deletepatches)
* [algo.evalDecimateErrorForTarget](./algo_functions#evaldecimateerrorfortarget)
* [algo.extractNeutralAxis](./algo_functions#extractneutralaxis)
* [algo.filletMesh](./algo_functions#filletmesh)
* [algo.identifyLinesOfInterest](./algo_functions#identifylinesofinterest)
* [algo.identifyPatches](./algo_functions#identifypatches)
* [algo.identifySharpEdges](./algo_functions#identifysharpedges)
* [algo.invertTangents](./algo_functions#inverttangents)
* [algo.listFeatures](./algo_functions#listfeatures)
* [algo.removeHoles](./algo_functions#removeholes)
* [algo.repairCAD](./algo_functions#repaircad)
* [algo.segmentMesh](./algo_functions#segmentmesh)
* [algo.smoothMesh](./algo_functions#smoothmesh)
* [algo.sweep](./algo_functions#sweep)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellatePointClouds](./algo_functions#tessellatepointclouds)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.bakeAOMap](./algo_functions#bakeaomap)
* [algo.bakeDiffuseMap](./algo_functions#bakediffusemap)
* [algo.bakeDisplacementMap](./algo_functions#bakedisplacementmap)
* [algo.bakePositionMap](./algo_functions#bakepositionmap)
* [algo.beginBakingSession](./algo_functions#beginbakingsession)
* [algo.beginVertexBakingSession](./algo_functions#beginvertexbakingsession)
* [algo.combineMaterials](./algo_functions#combinematerials)
* [algo.convexDecomposition](./algo_functions#convexdecomposition)
* [algo.explodeBodies](./algo_functions#explodebodies)
* [algo.explodeByVertexCount](./algo_functions#explodebyvertexcount)
* [algo.explodeConnectedMeshes](./algo_functions#explodeconnectedmeshes)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.createVisibilityInformationAdvanced](./algo_functions#createvisibilityinformationadvanced)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.findOccludedPartOccurrencesAdvanced](./algo_functions#findoccludedpartoccurrencesadvanced)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.removeOccludedGeometriesAdvanced](./algo_functions#removeoccludedgeometriesadvanced)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.marchingCubes](./algo_functions#marchingcubes)
* [algo.proxyMesh](./algo_functions#proxymesh)
* [algo.voxelize](./algo_functions#voxelize)
* [algo.replaceByPrimitive](./algo_functions#replacebyprimitive)
* [algo.convertSimilarPartOccurrencesToInstances](./algo_functions#convertsimilarpartoccurrencestoinstances)
* [algo.convertSimilarPartOccurrencesToInstancesFast](./algo_functions#convertsimilarpartoccurrencestoinstancesfast)
* [algo.findSimilarPartOccurrencesFast](./algo_functions#findsimilarpartoccurrencesfast)
* [algo.mapUvOnAABB](./algo_functions#mapuvonaabb)
* [algo.mapUvOnBox](./algo_functions#mapuvonbox)
* [algo.mapUvOnCubicAABB](./algo_functions#mapuvoncubicaabb)
* [algo.mapUvOnCustomAABB](./algo_functions#mapuvoncustomaabb)
* [algo.mapUvOnCylinder](./algo_functions#mapuvoncylinder)
* [algo.mapUvOnFittingCylinder](./algo_functions#mapuvonfittingcylinder)
* [algo.mapUvOnFittingSphere](./algo_functions#mapuvonfittingsphere)
* [algo.mapUvOnMBB](./algo_functions#mapuvonmbb)
* [algo.mapUvOnPlane](./algo_functions#mapuvonplane)
* [algo.mapUvOnSphere](./algo_functions#mapuvonsphere)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [algo.mergeUVIslandsRelaxed](./algo_functions#mergeuvislandsrelaxed)
* [algo.normalizeUV](./algo_functions#normalizeuv)
* [algo.repackUV](./algo_functions#repackuv)
* [algo.unwrapUV](./algo_functions#unwrapuv)
* [algo.getFittingCylinder](./algo_functions#getfittingcylinder)
* [algo.getFittingSphere](./algo_functions#getfittingsphere)
* [algo.convertNormalMap](./algo_functions#convertnormalmap)
* [algo.remeshSurfacicHoles](./algo_functions#remeshsurfacicholes)
* [algo.repairMesh](./algo_functions#repairmesh)
* [algo.orientPolygonFaces](./algo_functions#orientpolygonfaces)
* [algo.orientPolygonFacesAdvanced](./algo_functions#orientpolygonfacesadvanced)
* [cad.configureFunctionLogger](./cad_functions#configurefunctionlogger)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.invertFaces](./cad_functions#invertfaces)
* [core.configureFunctionLogger](./core_functions#configurefunctionlogger)
* [core.getEntitiesByType](./core_functions#getentitiesbytype)
* [core.configureLicenseServer](./core_functions#configurelicenseserver)
* [core.installLicense](./core_functions#installlicense)
* [core.parallelStart](./core_functions#parallelstart)
* [core.getModuleDescFromXML](./core_functions#getmoduledescfromxml)
* [core.endUndoRedoStep](./core_functions#endundoredostep)
* [core.configureInterfaceLogger](./core_functions#configureinterfacelogger)
* [core.setLogFile](./core_functions#setlogfile)
* [geom.configureFunctionLogger](./geom_functions#configurefunctionlogger)
* [io.configureFunctionLogger](./io_functions#configurefunctionlogger)
* [io.exportSelection](./io_functions#exportselection)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [material.configureFunctionLogger](./material_functions#configurefunctionlogger)
* [material.copyMaterial](./material_functions#copymaterial)
* [material.createMaterial](./material_functions#creatematerial)
* [material.filterAO](./material_functions#filterao)
* [material.convertFloat32To8BitsImage](./material_functions#convertfloat32to8bitsimage)
* [material.convertImage](./material_functions#convertimage)
* [material.fillUnusedPixels](./material_functions#fillunusedpixels)
* [material.rotateImage](./material_functions#rotateimage)
* [material.stretchImage](./material_functions#stretchimage)
* [material.transformImage](./material_functions#transformimage)
* [material.translateImage](./material_functions#translateimage)
* [polygonal.configureFunctionLogger](./polygonal_functions#configurefunctionlogger)
* [scene.cleanUnusedMaterials](./scene_functions#cleanunusedmaterials)
* [scene.configureFunctionLogger](./scene_functions#configurefunctionlogger)
* [scene.createOccurrenceFromSelection](./scene_functions#createoccurrencefromselection)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.getAABB](./scene_functions#getaabb)
* [scene.getActivePropertyValue](./scene_functions#getactivepropertyvalue)
* [scene.getActivePropertyValues](./scene_functions#getactivepropertyvalues)
* [scene.mergeMaterials](./scene_functions#mergematerials)
* [scene.createCapsule](./scene_functions#createcapsule)
* [scene.createCone](./scene_functions#createcone)
* [scene.createCube](./scene_functions#createcube)
* [scene.createCylinder](./scene_functions#createcylinder)
* [scene.createPlane](./scene_functions#createplane)
* [scene.createSphere](./scene_functions#createsphere)
* [scene.createTorus](./scene_functions#createtorus)
* [scene.findPartOccurrencesByMaximumSize](./scene_functions#findpartoccurrencesbymaximumsize)
* [scene.findPartOccurrencesInBox](./scene_functions#findpartoccurrencesinbox)
* [scene.setParent](./scene_functions#setparent)
* [scene.mergePartOccurrencesByFinalAssemblies](./scene_functions#mergepartoccurrencesbyfinalassemblies)
* [scene.mergePartOccurrencesByMaterials](./scene_functions#mergepartoccurrencesbymaterials)
* [scene.convertPMIToOccurrences](./scene_functions#convertpmitooccurrences)
* [scene.createOccurrenceFromAnnotation](./scene_functions#createoccurrencefromannotation)
* [scene.cleanInstances](./scene_functions#cleaninstances)
* [scene.getSelectedOccurrences](./scene_functions#getselectedoccurrences)
* [scene.separateSelection](./scene_functions#separateselection)
* [scene.makeInstanceUnique](./scene_functions#makeinstanceunique)
* [scene.rake](./scene_functions#rake)
* [scene.resetTransform](./scene_functions#resettransform)
* [unity.configureFunctionLogger](./unity_functions#configurefunctionlogger)
* [view.configureFunctionLogger](./view_functions#configurefunctionlogger)
* [view.playAnimation](./view_functions#playanimation)
* [view.setAnimationLoop](./view_functions#setanimationloop)
* [view.createStreamedViewer](./view_functions#createstreamedviewer)
* [algo.bakeImpostor](./algo_functions#bakeimpostor)
* [algo.createIndexMapFromOccurrences](./algo_functions#createindexmapfromoccurrences)
* [algo.createPointCloudKDTree](./algo_functions#createpointcloudkdtree)
* [algo.getVisualComparisonFootprint](./algo_functions#getvisualcomparisonfootprint)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.retopologize](./algo_functions#retopologize)
* [algo.automaticUVMapping](./algo_functions#automaticuvmapping)
* [algo.mapUvOnAABB](./algo_functions#mapuvonaabb)
* [algo.mapUvOnMBB](./algo_functions#mapuvonmbb)
* [algo.createBillboard](./algo_functions#createbillboard)
* [algo.repairMesh](./algo_functions#repairmesh)
* [algo.requadify](./algo_functions#requadify)
* [core.listTokens](./core_functions#listtokens)
* [io.getExportFormats](./io_functions#getexportformats)
* [io.getFormatsDescriptions](./io_functions#getformatsdescriptions)
* [io.getImportFormats](./io_functions#getimportformats)
* [io.loadReferencedData](./io_functions#loadreferenceddata)
* [material.findMaterialsByProperty](./material_functions#findmaterialsbyproperty)
* [material.applyFactorOnImage](./material_functions#applyfactoronimage)
* [polygonal.getPolygonCount](./polygonal_functions#getpolygoncount)
* [scene.deleteComponentByType](./scene_functions#deletecomponentbytype)
* [scene.generateOctaViews](./scene_functions#generateoctaviews)
* [scene.getComponent](./scene_functions#getcomponent)
* [scene.getComponentByOccurrence](./scene_functions#getcomponentbyoccurrence)
* [scene.getComponents](./scene_functions#getcomponents)
* [scene.getPolygonCount](./scene_functions#getpolygoncount)
* [scene.getVertexCount](./scene_functions#getvertexcount)
* [scene.hasComponent](./scene_functions#hascomponent)
* [scene.listComponents](./scene_functions#listcomponents)
* [scene.resizeTextures](./scene_functions#resizetextures)
* [scene.findOccurrencesByMetadata](./scene_functions#findoccurrencesbymetadata)
* [scene.findOccurrencesByMetadataValue](./scene_functions#findoccurrencesbymetadatavalue)
* [scene.findOccurrencesByProperty](./scene_functions#findoccurrencesbyproperty)
* [scene.createSubTree](./scene_functions#createsubtree)
* [scene.displayValueFromAnimChannelAtTime](./scene_functions#displayvaluefromanimchannelattime)
* [scene.alignPivotPointToWorld](./scene_functions#alignpivotpointtoworld)
* [scene.movePivotPointToOccurrenceCenter](./scene_functions#movepivotpointtooccurrencecenter)
* [scene.movePivotPointToOrigin](./scene_functions#movepivotpointtoorigin)
* [scene.movePivotPointToTargetedOccurrenceCenter](./scene_functions#movepivotpointtotargetedoccurrencecenter)
* [view.stopAllAnimation](./view_functions#stopallanimation)
* [view.stopAnimation](./view_functions#stopanimation)
* [view.createGPUScene](./view_functions#creategpuscene)
* [view.pickRectangle](./view_functions#pickrectangle)
* [view.visibilityShoot](./view_functions#visibilityshoot)

***

### OrientationList

List of [geom.Orientation](./geom_types#orientation)

Functions accepting this type or a list of this type as a parameter:

* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createOpenShell](./cad_functions#createopenshell)

***

### Point2

A Point2 defines a position in 2D space.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| x    | Double | 0       |             |
| y    | Double | 0       |             |

Derived class: [Vector2](./geom_types#vector2)


**Frame:**
```mermaid
classDiagram
    class Point2
        Point2 <|-- Vector2
```

Functions accepting this type or a list of this type as a parameter:

* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)

***

### Point2List

List of [geom.Point2](./geom_types#point2)

***

### Point2ListList

List of [geom.Point2List](./geom_types#point2list)

***

### Point3

A Point3 defines a position in 3D space.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| x    | Double | 0       |             |
| y    | Double | 0       |             |
| z    | Double | 0       |             |

Derived class: [Vector3](./geom_types#vector3)


**Frame:**
```mermaid
classDiagram
    class Point3
        Point3 <|-- Vector3
```

Functions accepting this type or a list of this type as a parameter:

* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [geom.changeOfBasisMatrix](./geom_functions#changeofbasismatrix)
* [geom.fromOriginNormal](./geom_functions#fromoriginnormal)
* [geom.lookAtMatrix](./geom_functions#lookatmatrix)
* [geom.multiplyMatrixPoint](./geom_functions#multiplymatrixpoint)
* [polygonal.usePointGapFillerNormal](./polygonal_functions#usepointgapfillernormal)

***

### Point3List

List of [geom.Point3](./geom_types#point3)

Functions accepting this type or a list of this type as a parameter:

* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [polygonal.usePointGapFillerNormal](./polygonal_functions#usepointgapfillernormal)

***

### Point3ListList

List of [geom.Point3List](./geom_types#point3list)

***

### Point4

A Point4 defines a position in 3D space.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| x    | Double | 0       |             |
| y    | Double | 0       |             |
| z    | Double | 0       |             |
| w    | Double | 0       |             |

Derived classes:

* [Quaternion](./geom_types#quaternion)
* [Vector4](./geom_types#vector4)


**Frame:**
```mermaid
classDiagram
    class Point4
        Point4 <|-- Quaternion
        Point4 <|-- Vector4
```

***

### Point4List

List of [geom.Point4](./geom_types#point4)

***

### Quaternion

Base class: [geom.Point4](./geom_types#point4)


**Frame:**
```mermaid
classDiagram
    class Quaternion
    Point4 <|-- Quaternion
```

Functions accepting this type or a list of this type as a parameter:

* [geom.quaternionToMatrix](./geom_functions#quaterniontomatrix)

***

### Ray

Fields

| Type      | Name    | Default | Description |
| --------- | ------- | ------- | ----------- |
| origin    | Point3  |         |             |
| direction | Vector3 |         |             |

Functions accepting this type or a list of this type as a parameter:

* [scene.rayCast](./scene_functions#raycast)
* [scene.rayCastAll](./scene_functions#raycastall)
* [scene.updateRayProber](./scene_functions#updaterayprober)

***

### Vector2

Base class: [geom.Point2](./geom_types#point2)


**Frame:**
```mermaid
classDiagram
    class Vector2
    Point2 <|-- Vector2
```

Functions accepting this type or a list of this type as a parameter:

* [view.setViewerMatrices](./view_functions#setviewermatrices)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)

***

### Vector3

A Vector3 defines a vector in 3D space.
Base class: [geom.Point3](./geom_types#point3)


**Frame:**
```mermaid
classDiagram
    class Vector3
    Point3 <|-- Vector3
```

Functions accepting this type or a list of this type as a parameter:

* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.mapUvOnFittingCylinder](./algo_functions#mapuvonfittingcylinder)
* [algo.getFittingCylinder](./algo_functions#getfittingcylinder)
* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [geom.changeOfBasisMatrix](./geom_functions#changeofbasismatrix)
* [geom.fromOriginNormal](./geom_functions#fromoriginnormal)
* [geom.fromTRS](./geom_functions#fromtrs)
* [geom.lookAtMatrix](./geom_functions#lookatmatrix)
* [geom.multiplyMatrixVector](./geom_functions#multiplymatrixvector)
* [polygonal.usePointGapFillerNormal](./polygonal_functions#usepointgapfillernormal)
* [scene.getMBB](./scene_functions#getmbb)
* [scene.rotate](./scene_functions#rotate)
* [scene.updateSphereProber](./scene_functions#updatesphereprober)
* [view.getAutoClipping](./view_functions#getautoclipping)
* [view.fitCamera](./view_functions#fitcamera)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [geom.changeOfBasisMatrix](./geom_functions#changeofbasismatrix)
* [geom.fromOriginNormal](./geom_functions#fromoriginnormal)
* [geom.lookAtMatrix](./geom_functions#lookatmatrix)
* [geom.multiplyMatrixPoint](./geom_functions#multiplymatrixpoint)
* [polygonal.usePointGapFillerNormal](./polygonal_functions#usepointgapfillernormal)

***

### Vector3List

List of [geom.Vector3](./geom_types#vector3)

Functions accepting this type or a list of this type as a parameter:

* [polygonal.usePointGapFillerNormal](./polygonal_functions#usepointgapfillernormal)

***

### Vector4

Base class: [geom.Point4](./geom_types#point4)


**Frame:**
```mermaid
classDiagram
    class Vector4
    Point4 <|-- Vector4
```

***

### Vector4I

A Vector4 has 4 int components.
Fields

| Type | Name | Default | Description |
| ---- | ---- | ------- | ----------- |
| x    | Int  | 0       |             |
| y    | Int  | 0       |             |
| z    | Int  | 0       |             |
| w    | Int  | 0       |             |

***

### Vector4IList

List of [geom.Vector4I](./geom_types#vector4i)

***

### Vector4List

List of [geom.Vector4](./geom_types#vector4)

***

### Volume

Volume defines a volume in cubic meters (in scripts). In the GUI, the unit can be modified.
Base class: [core.Double](./core_types#double)


**Frame:**
```mermaid
classDiagram
    class Volume
    Double <|-- Volume
```

Functions accepting this type or a list of this type as a parameter:

* [algo.createVisibilityInformationAdvanced](./algo_functions#createvisibilityinformationadvanced)
* [algo.findOccludedPartOccurrencesAdvanced](./algo_functions#findoccludedpartoccurrencesadvanced)
* [algo.removeOccludedGeometriesAdvanced](./algo_functions#removeoccludedgeometriesadvanced)
* [algo.createCavityOccurrences](./algo_functions#createcavityoccurrences)
* [algo.orientPolygonFacesAdvanced](./algo_functions#orientpolygonfacesadvanced)
* [algo.decimateEdgeCollapse](./algo_functions#decimateedgecollapse)
* [algo.evalDecimateErrorForTarget](./algo_functions#evaldecimateerrorfortarget)
* [algo.filletMesh](./algo_functions#filletmesh)
* [algo.filterMeshVertexColors](./algo_functions#filtermeshvertexcolors)
* [algo.findBestPivotBetweenOccurrences](./algo_functions#findbestpivotbetweenoccurrences)
* [algo.getOptimalTextureResolution](./algo_functions#getoptimaltextureresolution)
* [algo.getVisualComparisonFootprint](./algo_functions#getvisualcomparisonfootprint)
* [algo.optimizeTextureSize](./algo_functions#optimizetexturesize)
* [algo.tessellate](./algo_functions#tessellate)
* [algo.tessellateRelativelyToAABB](./algo_functions#tessellaterelativelytoaabb)
* [algo.bakeDepthMap](./algo_functions#bakedepthmap)
* [algo.bakeValidityMap](./algo_functions#bakevaliditymap)
* [algo.convexDecomposition](./algo_functions#convexdecomposition)
* [algo.createVisibilityInformation](./algo_functions#createvisibilityinformation)
* [algo.createVisibilityInformationFromViewPoints](./algo_functions#createvisibilityinformationfromviewpoints)
* [algo.findOccludedPartOccurrences](./algo_functions#findoccludedpartoccurrences)
* [algo.removeOccludedGeometries](./algo_functions#removeoccludedgeometries)
* [algo.removeOccludedGeometriesFromPoints](./algo_functions#removeoccludedgeometriesfrompoints)
* [algo.removeOccludedGeometriesFromViewPoints](./algo_functions#removeoccludedgeometriesfromviewpoints)
* [algo.dualContouring](./algo_functions#dualcontouring)
* [algo.sawWithOctree](./algo_functions#sawwithoctree)
* [algo.sawWithPlane](./algo_functions#sawwithplane)
* [algo.alignUVIslands](./algo_functions#alignuvislands)
* [algo.automaticUVMapping](./algo_functions#automaticuvmapping)
* [algo.mergeUVIslandsAffine](./algo_functions#mergeuvislandsaffine)
* [algo.mergeUVIslandsRelaxed](./algo_functions#mergeuvislandsrelaxed)
* [algo.scaleUV](./algo_functions#scaleuv)
* [algo.unwrapUV](./algo_functions#unwrapuv)
* [algo.orientPolygonFacesFromCamera](./algo_functions#orientpolygonfacesfromcamera)
* [algo.createVertexWeightsFromVertexColors](./algo_functions#createvertexweightsfromvertexcolors)
* [algo.createVertexWeightsFromVisibilityAttributes](./algo_functions#createvertexweightsfromvisibilityattributes)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)
* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [geom.orthographicMatrix](./geom_functions#orthographicmatrix)
* [geom.perspectiveMatrix](./geom_functions#perspectivematrix)
* [io.splitPointCloud](./io_functions#splitpointcloud)
* [material.convertHeightMapToNormalMap](./material_functions#convertheightmaptonormalmap)
* [material.filterAO](./material_functions#filterao)
* [material.getPointsAndMaterialFromText](./material_functions#getpointsandmaterialfromtext)
* [material.convertFloat32To8BitsImage](./material_functions#convertfloat32to8bitsimage)
* [material.getImageColorBilinear](./material_functions#getimagecolorbilinear)
* [material.rotateImage](./material_functions#rotateimage)
* [material.stretchImage](./material_functions#stretchimage)
* [material.translateImage](./material_functions#translateimage)
* [polygonal.createMeshFromText](./polygonal_functions#createmeshfromtext)
* [scene.createOccurrenceFromText](./scene_functions#createoccurrencefromtext)
* [scene.generateOctaViews](./scene_functions#generateoctaviews)
* [scene.generateOctree](./scene_functions#generateoctree)
* [scene.createCapsule](./scene_functions#createcapsule)
* [scene.createCone](./scene_functions#createcone)
* [scene.createCube](./scene_functions#createcube)
* [scene.createCylinder](./scene_functions#createcylinder)
* [scene.createImmersion](./scene_functions#createimmersion)
* [scene.createPlane](./scene_functions#createplane)
* [scene.createSphere](./scene_functions#createsphere)
* [scene.createTorus](./scene_functions#createtorus)
* [scene.addLightComponent](./scene_functions#addlightcomponent)
* [scene.createLight](./scene_functions#createlight)
* [scene.addKeyframe](./scene_functions#addkeyframe)
* [scene.decimateAnimChannelBySegment](./scene_functions#decimateanimchannelbysegment)
* [scene.updateSphereProber](./scene_functions#updatesphereprober)
* [view.playAnimation](./view_functions#playanimation)
* [view.setAnimationSpeed](./view_functions#setanimationspeed)
