# Polygonal

> Python API types

### Edge

An Edge is composed by two vertices and is connected to the polygons of a tessellation. It is the dimension-1 element.
Base class: [polygonal.Element](./polygonal_types#element)


**Frame:**
```mermaid
classDiagram
    class Edge
    Element <|-- Edge
```

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)

***

### Element

Element is the base type for polygons, edges and vertices.
Base class: [geom.GeomEntity](./geom_types#geomentity)

Derived classes:

* [Edge](./polygonal_types#edge)
* [Polygon](./polygonal_types#polygon)
* [Vertex](./polygonal_types#vertex)


**Frame:**
```mermaid
classDiagram
    class Element
    GeomEntity <|-- Element
        Element <|-- Edge
        Element <|-- Polygon
        Element <|-- Vertex
```

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)

***

### Joint

A Joint is a bone of a skeleton.
Base class: [core.Entity](./core_types#entity)

Derived class: [PlaceholderJoint](./polygonal_types#placeholderjoint)


**Frame:**
```mermaid
classDiagram
    class Joint
    Entity <|-- Joint
        Joint <|-- PlaceholderJoint
    PlaceholderJoint : +geom.Matrix4 Transform
```

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

* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.getJointDefinition](./scene_functions#getjointdefinition)
* [scene.getJointDefinitions](./scene_functions#getjointdefinitions)
* [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)

***

### JointList

List of [polygonal.Joint](./polygonal_types#joint)

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

* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.getJointDefinitions](./scene_functions#getjointdefinitions)

***

### Mesh

A mesh is the base class for a polygonal mesh. It is structured with polygons, edges and vertices.
Base class: [geom.GeomEntity](./geom_types#geomentity)

Derived classes:

* [StaticMesh](./polygonal_types#staticmesh)
* [Tessellation](./polygonal_types#tessellation)


**Frame:**
```mermaid
classDiagram
    class Mesh
    GeomEntity <|-- Mesh
        Mesh <|-- StaticMesh
    StaticMesh : +core.Ident Id
        Mesh <|-- Tessellation
    Tessellation : +core.Ident Id
```

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

* [polygonal.getPolygonCount](./polygonal_functions#getpolygoncount)
* [polygonal.computeMeshTopoChecksum](./polygonal_functions#computemeshtopochecksum)
* [polygonal.computeMeshVertexPositionsChecksum](./polygonal_functions#computemeshvertexpositionschecksum)
* [polygonal.computeUVTopoChecksum](./polygonal_functions#computeuvtopochecksum)
* [polygonal.computeUVVertexPositionsChecksum](./polygonal_functions#computeuvvertexpositionschecksum)
* [polygonal.getMeshDefinition](./polygonal_functions#getmeshdefinition)
* [polygonal.getMeshDefinitions](./polygonal_functions#getmeshdefinitions)
* [polygonal.hasMeshJoints](./polygonal_functions#hasmeshjoints)
* [polygonal.hasNormalizedUVs](./polygonal_functions#hasnormalizeduvs)
* [polygonal.hasUVs](./polygonal_functions#hasuvs)
* [scene.createPartsFromMeshes](./scene_functions#createpartsfrommeshes)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.setPartMesh](./scene_functions#setpartmesh)
* [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)

***

### MeshDefinition

Mesh definition.
Fields

| Type                | Name             | Default | Description                                                                         |
| ------------------- | ---------------- | ------- | ----------------------------------------------------------------------------------- |
| id                  | Mesh             | 0       | The mesh from which we get the definition.                                          |
| externalId          | Ident            | 0       | External ID used for API integrations.                                              |
| vertices            | Point3List       |         | Vertices coordinates.                                                               |
| normals             | Vector3List      |         | Vertices normals.                                                                   |
| tangents            | Vector4List      |         | Vertices tangents.                                                                  |
| uvChannels          | IntList          |         | UV channels.                                                                        |
| uvs                 | Point2ListList   |         | Array of vertices uv coordinates (one array per channel).                           |
| vertexColors        | ColorAlphaList   |         | Vertex colors.                                                                      |
| curvatures          | CurvaturesList   |         | Vertices curvatures.                                                                |
| triangles           | IntList          |         | Triangles (vertex indices).                                                         |
| quadrangles         | IntList          |         | Quadrangles (vertex indices).                                                       |
| vertexMerged        | IntList          |         | Array which contains for each vertex in vertices the vertex that it is merged with. |
| submeshes           | SubmeshList      |         | Array which contain information about multi materials mesh.                         |
| linesVertices       | Point3List       |         | Lines vertices coordinates.                                                         |
| lines               | StylizedLineList |         | Lines vertices indices.                                                             |
| points              | Point3List       |         | Points.                                                                             |
| pointsColors        | Vector3List      |         | Points colors.                                                                      |
| joints              | JointList        |         | Joints (bones) identifiers.                                                         |
| inverseBindMatrices | Matrix4List      |         | Joints inverse bind matrices (bones poses).                                         |
| jointWeights        | Vector4List      |         | Joints (bones) weights.                                                             |
| jointIndices        | Vector4IList     |         | Joints (bones) indices.                                                             |

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

* [polygonal.createMeshFromDefinition](./polygonal_functions#createmeshfromdefinition)
* [polygonal.createMeshFromDefinitions](./polygonal_functions#createmeshfromdefinitions)
* [polygonal.createMeshesFromDefinitions](./polygonal_functions#createmeshesfromdefinitions)

***

### MeshDefinitionList

List of [polygonal.MeshDefinition](./polygonal_types#meshdefinition)

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

* [polygonal.createMeshFromDefinitions](./polygonal_functions#createmeshfromdefinitions)
* [polygonal.createMeshesFromDefinitions](./polygonal_functions#createmeshesfromdefinitions)

***

### MeshList

List of [polygonal.Mesh](./polygonal_types#mesh)

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

* [polygonal.getMeshDefinitions](./polygonal_functions#getmeshdefinitions)
* [scene.createPartsFromMeshes](./scene_functions#createpartsfrommeshes)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)

***

### PlaceholderJoint

A placeholder joint is a fake joint that contains user defined data for SDK integration purpose.
Base class: [polygonal.Joint](./polygonal_types#joint)


**Frame:**
```mermaid
classDiagram
    class PlaceholderJoint
    Joint <|-- PlaceholderJoint
    PlaceholderJoint : +geom.Matrix4 Transform
```

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

* [polygonal.getJointPlaceholders](./polygonal_functions#getjointplaceholders)
* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.getJointDefinition](./scene_functions#getjointdefinition)
* [scene.getJointDefinitions](./scene_functions#getjointdefinitions)
* [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)

***

### PlaceholderJointList

List of [polygonal.PlaceholderJoint](./polygonal_types#placeholderjoint)

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

* [polygonal.getJointPlaceholders](./polygonal_functions#getjointplaceholders)

***

### Polygon

A Polygon is composed by 3 or more edges. It is the dimension-2 element.
Base class: [polygonal.Element](./polygonal_types#element)


**Frame:**
```mermaid
classDiagram
    class Polygon
    Element <|-- Polygon
```

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)

***

### StaticMesh

A static mesh is a mesh representation used for storage.
Base class: [polygonal.Mesh](./polygonal_types#mesh)


**Frame:**
```mermaid
classDiagram
    class StaticMesh
    Mesh <|-- StaticMesh
    StaticMesh : +core.Ident Id
```

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

* [polygonal.dracoEncode](./polygonal_functions#dracoencode)
* [polygonal.getMeshSkinning](./polygonal_functions#getmeshskinning)
* [polygonal.setMeshSkinning](./polygonal_functions#setmeshskinning)
* [scene.addMeshToAnnotation](./scene_functions#addmeshtoannotation)
* [polygonal.getPolygonCount](./polygonal_functions#getpolygoncount)
* [polygonal.computeMeshTopoChecksum](./polygonal_functions#computemeshtopochecksum)
* [polygonal.computeMeshVertexPositionsChecksum](./polygonal_functions#computemeshvertexpositionschecksum)
* [polygonal.computeUVTopoChecksum](./polygonal_functions#computeuvtopochecksum)
* [polygonal.computeUVVertexPositionsChecksum](./polygonal_functions#computeuvvertexpositionschecksum)
* [polygonal.getMeshDefinition](./polygonal_functions#getmeshdefinition)
* [polygonal.getMeshDefinitions](./polygonal_functions#getmeshdefinitions)
* [polygonal.hasMeshJoints](./polygonal_functions#hasmeshjoints)
* [polygonal.hasNormalizedUVs](./polygonal_functions#hasnormalizeduvs)
* [polygonal.hasUVs](./polygonal_functions#hasuvs)
* [scene.createPartsFromMeshes](./scene_functions#createpartsfrommeshes)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.setPartMesh](./scene_functions#setpartmesh)
* [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)

***

### StyleType

Enum of [core.Long](./core_types#long)

| Name    | Value |
| ------- | ----- |
| NORMAL  | 0     |
| STIPPLE | 1     |

***

### StylizedLine

Fields

| Type              | Name     | Default | Description                                                                                                      |
| ----------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| lineVertexIndices | IntList  |         | List of lineVertices index. The indices for a line must be chained (e.g. 0 3 2 1 will create edges 0-3 3-2 2-1). |
| material          | Material | 0       | Material applied to the line if any.                                                                             |
| externalId        | Ident    | 0       | External ID.                                                                                                     |

***

### StylizedLineList

List of [polygonal.StylizedLine](./polygonal_types#stylizedline)

***

### Submesh

Submesh for polygon material assignation.
Fields

| Type       | Name     | Default | Description                      |
| ---------- | -------- | ------- | -------------------------------- |
| material   | Material | 0       | Polygon material's dressed with. |
| firstTri   | Int      | 0       | First triangle.                  |
| triCount   | Int      | 0       | Number of triangles.             |
| firstQuad  | Int      | 0       | First quad.                      |
| quadCount  | Int      | 0       | Number of quad.                  |
| externalId | Ident    | 0       | External ID.                     |

***

### SubmeshList

List of [polygonal.Submesh](./polygonal_types#submesh)

***

### Tessellation

A Tessellation is a dynamic mesh representation.
Base class: [polygonal.Mesh](./polygonal_types#mesh)


**Frame:**
```mermaid
classDiagram
    class Tessellation
    Mesh <|-- Tessellation
    Tessellation : +core.Ident Id
```

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

* [polygonal.getPolygonCount](./polygonal_functions#getpolygoncount)
* [polygonal.computeMeshTopoChecksum](./polygonal_functions#computemeshtopochecksum)
* [polygonal.computeMeshVertexPositionsChecksum](./polygonal_functions#computemeshvertexpositionschecksum)
* [polygonal.computeUVTopoChecksum](./polygonal_functions#computeuvtopochecksum)
* [polygonal.computeUVVertexPositionsChecksum](./polygonal_functions#computeuvvertexpositionschecksum)
* [polygonal.getMeshDefinition](./polygonal_functions#getmeshdefinition)
* [polygonal.getMeshDefinitions](./polygonal_functions#getmeshdefinitions)
* [polygonal.hasMeshJoints](./polygonal_functions#hasmeshjoints)
* [polygonal.hasNormalizedUVs](./polygonal_functions#hasnormalizeduvs)
* [polygonal.hasUVs](./polygonal_functions#hasuvs)
* [scene.createPartsFromMeshes](./scene_functions#createpartsfrommeshes)
* [scene.createSceneFromMeshes](./scene_functions#createscenefrommeshes)
* [scene.setPartMesh](./scene_functions#setpartmesh)
* [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)

***

### TessellationAttribute

A TessellationAttribute is an attribute applied to the elements of the tessellation. It can be normals, texture coordinates, patches or more advanced types like visibility attributes, curvatures attributes, etc...
Base class: [core.Entity](./core_types#entity)


**Frame:**
```mermaid
classDiagram
    class TessellationAttribute
    Entity <|-- TessellationAttribute
```

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

* [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)

***

### TessellationList

List of [polygonal.Tessellation](./polygonal_types#tessellation)

***

### TopologyCategoryMask

The topology cmasl is a combination of TopologyConnectivityMask and TopologyDimensionMask.
Fields

| Type         | Name                     | Default | Description |
| ------------ | ------------------------ | ------- | ----------- |
| dimension    | TopologyDimensionMask    | ALL     |             |
| connectivity | TopologyConnectivityMask | ALL     |             |

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

* [algo.mergeVertices](./algo_functions#mergevertices)

***

### TopologyConnectivityMask

The topology connectivity mask is used to filter some processus using the topological connectivity of elements (border, non-manifold, etc...).
Enum of [core.Long](./core_types#long)

| Name                  | Value |
| --------------------- | ----- |
| NONE                  | 0     |
| MANIFOLD              | 1     |
| BOUNDARY              | 2     |
| NONMANIFOLD           | 4     |
| BOUNDARY\_NONMANIFOLD | 6     |
| FREE                  | 8     |
| ALL                   | 15    |

***

### TopologyDimensionMask

The topology dimension mask is used to filter some processes using the topological dimension of the support of vertices.
Enum of [core.Long](./core_types#long)

| Name   | Value |
| ------ | ----- |
| NONE   | 0     |
| VERTEX | 1     |
| LINE   | 2     |
| FACE   | 4     |
| ALL    | 7     |

***

### Vertex

A Vertex is defined by a position and is connected to the edges of a tessellation. It is the dimension-0 element.
Base class: [polygonal.Element](./polygonal_types#element)


**Frame:**
```mermaid
classDiagram
    class Vertex
    Element <|-- Vertex
```

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)
