# Sandbox.PolygonMesh

An editable mesh made up of polygons, triangulated into a model

- Kind: class
- Namespace: `Sandbox`
- Assembly: `Sandbox.Engine`
- Modifiers: sealed

## Constructors

- [`PolygonMesh`](/api/Sandbox.PolygonMesh/.ctor)

## Properties

- [`BadFaces`](/api/Sandbox.PolygonMesh/BadFaces): Faces that failed to triangulate during the last rebuild
- [`FaceHandles`](/api/Sandbox.PolygonMesh/FaceHandles): All of the face handles being used
- [`HalfEdgeHandles`](/api/Sandbox.PolygonMesh/HalfEdgeHandles): All of the half edge handles being used
- [`HasHiddenFaces`](/api/Sandbox.PolygonMesh/HasHiddenFaces): Are any faces hidden?
- [`IsDirty`](/api/Sandbox.PolygonMesh/IsDirty): Has there been changes to the mesh that need rebuilding?
- [`Transform`](/api/Sandbox.PolygonMesh/Transform): Where is the mesh in worldspace.
- [`VertexHandles`](/api/Sandbox.PolygonMesh/VertexHandles): All of the vertex handles being used

## Methods

- [`AddFace`](/api/Sandbox.PolygonMesh/AddFace): Connect these vertices to make a face
- [`AddVertex`](/api/Sandbox.PolygonMesh/AddVertex): Add a vertex to the topology
- [`AddVertexToEdge`](/api/Sandbox.PolygonMesh/AddVertexToEdge)
- [`AddVertexToEdgeAndUpdateTable`](/api/Sandbox.PolygonMesh/AddVertexToEdgeAndUpdateTable)
- [`AddVertices`](/api/Sandbox.PolygonMesh/AddVertices): Add multiple vertices to the topology
- [`ApplyTransform`](/api/Sandbox.PolygonMesh/ApplyTransform): Transform all the vertices
- [`AreEdgesCoLinear`](/api/Sandbox.PolygonMesh/AreEdgesCoLinear)
- [`AssignMaterialToFaces`](/api/Sandbox.PolygonMesh/AssignMaterialToFaces)
- [`AverageEdgeUVs`](/api/Sandbox.PolygonMesh/AverageEdgeUVs)
- [`AverageVertexUVs`](/api/Sandbox.PolygonMesh/AverageVertexUVs)
- [`BevelEdges`](/api/Sandbox.PolygonMesh/BevelEdges)
- [`BevelVertices`](/api/Sandbox.PolygonMesh/BevelVertices)
- [`BridgeEdges`](/api/Sandbox.PolygonMesh/BridgeEdges): Bridge two edges (create a face connecting them). The edges must both be open and belong to different faces.
- [`BridgeEdgesInterpolated`](/api/Sandbox.PolygonMesh/BridgeEdgesInterpolated)
- [`CalculateBounds`](/api/Sandbox.PolygonMesh/CalculateBounds): Calculate bounds of all vertices
- [`ClassifyEdgeListConnectivity`](/api/Sandbox.PolygonMesh/ClassifyEdgeListConnectivity)
- [`ClipFacesByPlaneAndCap`](/api/Sandbox.PolygonMesh/ClipFacesByPlaneAndCap)
- [`CollapseEdge`](/api/Sandbox.PolygonMesh/CollapseEdge)
- [`CollapseEdges`](/api/Sandbox.PolygonMesh/CollapseEdges)
- [`CollapseFace`](/api/Sandbox.PolygonMesh/CollapseFace)
- [`CombineFaces`](/api/Sandbox.PolygonMesh/CombineFaces)
- [`ComputeClosestPointOnEdge`](/api/Sandbox.PolygonMesh/ComputeClosestPointOnEdge)
- [`ComputeFaceNormal`](/api/Sandbox.PolygonMesh/ComputeFaceNormal)
- [`ComputeFaceTextureCoordinatesFromParameters`](/api/Sandbox.PolygonMesh/ComputeFaceTextureCoordinatesFromParameters)
- [`ComputeFaceTextureParametersFromCoordinates`](/api/Sandbox.PolygonMesh/ComputeFaceTextureParametersFromCoordinates)
- [`ComputeNormalForOpenEdgeLoop`](/api/Sandbox.PolygonMesh/ComputeNormalForOpenEdgeLoop)
- [`ComputeOpenEdgeExtendDirection`](/api/Sandbox.PolygonMesh/ComputeOpenEdgeExtendDirection)
- [`ConnectEdges`](/api/Sandbox.PolygonMesh/ConnectEdges)
- [`ConnectVertices`](/api/Sandbox.PolygonMesh/ConnectVertices)
- [`CorrelateOpenEdges`](/api/Sandbox.PolygonMesh/CorrelateOpenEdges)
- [`CreateEdgesConnectingVertexToPoint`](/api/Sandbox.PolygonMesh/CreateEdgesConnectingVertexToPoint)
- [`CreateFace`](/api/Sandbox.PolygonMesh/CreateFace)
- [`CreateFaceInEdgeLoop`](/api/Sandbox.PolygonMesh/CreateFaceInEdgeLoop): Add a face filling in the open edge loop specified by the provided edge
- [`DetachFaces`](/api/Sandbox.PolygonMesh/DetachFaces)
- [`DissolveEdge`](/api/Sandbox.PolygonMesh/DissolveEdge)
- [`DissolveEdges`](/api/Sandbox.PolygonMesh/DissolveEdges)
- [`ExtendEdges`](/api/Sandbox.PolygonMesh/ExtendEdges)
- [`ExtendOrExtrudeVertices`](/api/Sandbox.PolygonMesh/ExtendOrExtrudeVertices)
- [`ExtrudeFaces`](/api/Sandbox.PolygonMesh/ExtrudeFaces)
- [`FaceHandleFromIndex`](/api/Sandbox.PolygonMesh/FaceHandleFromIndex)
- [`FindBoundaryEdgesConnectedToFaces`](/api/Sandbox.PolygonMesh/FindBoundaryEdgesConnectedToFaces)
- [`FindClosedFaces`](/api/Sandbox.PolygonMesh/FindClosedFaces)
- [`FindCornerVerticesForFace`](/api/Sandbox.PolygonMesh/FindCornerVerticesForFace)
- [`FindEdgeConnectingVertices`](/api/Sandbox.PolygonMesh/FindEdgeConnectingVertices)
- [`FindEdgeIslands`](/api/Sandbox.PolygonMesh/FindEdgeIslands)
- [`FindEdgeLoopForEdges`](/api/Sandbox.PolygonMesh/FindEdgeLoopForEdges)
- [`FindEdgeRibs`](/api/Sandbox.PolygonMesh/FindEdgeRibs)
- [`FindEdgeRing`](/api/Sandbox.PolygonMesh/FindEdgeRing)
- [`FindFaceIslands`](/api/Sandbox.PolygonMesh/FindFaceIslands)
- [`FindFaceVertexConnectedToVertex`](/api/Sandbox.PolygonMesh/FindFaceVertexConnectedToVertex)
- [`FindHalfEdgesConnectedToFace`](/api/Sandbox.PolygonMesh/FindHalfEdgesConnectedToFace)
- [`FindOpenEdgeIslands`](/api/Sandbox.PolygonMesh/FindOpenEdgeIslands)
- [`FindVerticesConnectedToEdges`](/api/Sandbox.PolygonMesh/FindVerticesConnectedToEdges)
- [`FlipAllFaces`](/api/Sandbox.PolygonMesh/FlipAllFaces)
- [`GenerateUVsForFaces`](/api/Sandbox.PolygonMesh/GenerateUVsForFaces)
- [`GetBestPlanesForEdgeBetweenFaces`](/api/Sandbox.PolygonMesh/GetBestPlanesForEdgeBetweenFaces)
- [`GetEdgeLine`](/api/Sandbox.PolygonMesh/GetEdgeLine): Get start and end points of an edge
- [`GetEdges`](/api/Sandbox.PolygonMesh/GetEdges): Get the start and end points of all edges
- [`GetEdgesConnectedToFace`](/api/Sandbox.PolygonMesh/GetEdgesConnectedToFace)
- [`GetEdgesConnectedToVertex`](/api/Sandbox.PolygonMesh/GetEdgesConnectedToVertex)
- [`GetEdgeSmoothing`](/api/Sandbox.PolygonMesh/GetEdgeSmoothing): Get the smoothing of this edge
- [`GetEdgeVertexPositions`](/api/Sandbox.PolygonMesh/GetEdgeVertexPositions)
- [`GetEdgeVertices`](/api/Sandbox.PolygonMesh/GetEdgeVertices): Get the two vertices of this half edge
- [`GetFaceCenter`](/api/Sandbox.PolygonMesh/GetFaceCenter): Calculate the center point of a face
- [`GetFaceEdges`](/api/Sandbox.PolygonMesh/GetFaceEdges): Get all edge handles of a face
- [`GetFaceMaterial`](/api/Sandbox.PolygonMesh/GetFaceMaterial): Get a material a face is using
- [`GetFacePlaneUsingEdge`](/api/Sandbox.PolygonMesh/GetFacePlaneUsingEdge)
- [`GetFacesConnectedToEdge`](/api/Sandbox.PolygonMesh/GetFacesConnectedToEdge)
- [`GetFacesConnectedToFace`](/api/Sandbox.PolygonMesh/GetFacesConnectedToFace)
- [`GetFacesConnectedToVertex`](/api/Sandbox.PolygonMesh/GetFacesConnectedToVertex)
- [`GetFaceTextureCoords`](/api/Sandbox.PolygonMesh/GetFaceTextureCoords)
- [`GetFaceTextureParameters`](/api/Sandbox.PolygonMesh/GetFaceTextureParameters)
- [`GetFaceVertexPositions`](/api/Sandbox.PolygonMesh/GetFaceVertexPositions)
- [`GetFaceVertices`](/api/Sandbox.PolygonMesh/GetFaceVertices): Get all vertex handles of a face
- [`GetFaceVerticesConnectedToFace`](/api/Sandbox.PolygonMesh/GetFaceVerticesConnectedToFace)
- [`GetFaceVerticesConnectedToVertex`](/api/Sandbox.PolygonMesh/GetFaceVerticesConnectedToVertex)
- [`GetHalfEdgeFace`](/api/Sandbox.PolygonMesh/GetHalfEdgeFace): Get the face connected to this half edge
- [`GetNearestEdgesBetweenFaces`](/api/Sandbox.PolygonMesh/GetNearestEdgesBetweenFaces)
- [`GetNextVertexInFace`](/api/Sandbox.PolygonMesh/GetNextVertexInFace)
- [`GetOppositeFaceConnectedToEdge`](/api/Sandbox.PolygonMesh/GetOppositeFaceConnectedToEdge)
- [`GetOppositeHalfEdge`](/api/Sandbox.PolygonMesh/GetOppositeHalfEdge)
- [`GetTextureCoord`](/api/Sandbox.PolygonMesh/GetTextureCoord): Get face vertex texture coord
- [`GetTextureExtents`](/api/Sandbox.PolygonMesh/GetTextureExtents)
- [`GetTextureOffset`](/api/Sandbox.PolygonMesh/GetTextureOffset): Get texture offset of a face
- [`GetTextureScale`](/api/Sandbox.PolygonMesh/GetTextureScale): Get texture scale of a face
- [`GetVertexBlend`](/api/Sandbox.PolygonMesh/GetVertexBlend): Get the blend of a vertex
- [`GetVertexColor`](/api/Sandbox.PolygonMesh/GetVertexColor): Get the color of a vertex
- [`GetVertexConnectedToFaceVertex`](/api/Sandbox.PolygonMesh/GetVertexConnectedToFaceVertex)
- [`GetVertexPosition`](/api/Sandbox.PolygonMesh/GetVertexPosition): Get the position of a vertex
- [`GetVertexPositions`](/api/Sandbox.PolygonMesh/GetVertexPositions): Get the positions of all vertices
- [`GetVerticesConnectedToEdge`](/api/Sandbox.PolygonMesh/GetVerticesConnectedToEdge)
- [`GetVerticesConnectedToFace`](/api/Sandbox.PolygonMesh/GetVerticesConnectedToFace)
- [`GetVisibleEdges`](/api/Sandbox.PolygonMesh/GetVisibleEdges): Get the start and end points of all edges still used by a face that isn't hidden
- [`GetVisibleVertexPositions`](/api/Sandbox.PolygonMesh/GetVisibleVertexPositions): Get the positions of all vertices still used by a face that isn't hidden
- [`HalfEdgeHandleFromIndex`](/api/Sandbox.PolygonMesh/HalfEdgeHandleFromIndex)
- [`InsetFaces`](/api/Sandbox.PolygonMesh/InsetFaces): Inset a region of faces inward by the given amount with optional intermediate rings.
- [`IsEdgeHidden`](/api/Sandbox.PolygonMesh/IsEdgeHidden): Is every face using this edge hidden?
- [`IsEdgeOpen`](/api/Sandbox.PolygonMesh/IsEdgeOpen): Determine if the specified edge is open (only has one connected face)
- [`IsEdgeSmooth`](/api/Sandbox.PolygonMesh/IsEdgeSmooth)
- [`IsFaceHidden`](/api/Sandbox.PolygonMesh/IsFaceHidden): Is this face hidden?
- [`IsVertexHidden`](/api/Sandbox.PolygonMesh/IsVertexHidden): Is every face using this vertex hidden?
- [`JsonRead`](/api/Sandbox.PolygonMesh/JsonRead)
- [`JsonWrite`](/api/Sandbox.PolygonMesh/JsonWrite)
- [`JustifyFaceTextureParameters`](/api/Sandbox.PolygonMesh/JustifyFaceTextureParameters)
- [`MergeEdges`](/api/Sandbox.PolygonMesh/MergeEdges)
- [`MergeMesh`](/api/Sandbox.PolygonMesh/MergeMesh)
- [`MergeVerticesWithinDistance`](/api/Sandbox.PolygonMesh/MergeVerticesWithinDistance)
- [`PerformBoolean`](/api/Sandbox.PolygonMesh/PerformBoolean): Perform a boolean operation between this mesh (A) and another mesh (B). The result replaces this mesh. The other mesh is not modified.
- [`QuadSliceFaces`](/api/Sandbox.PolygonMesh/QuadSliceFaces)
- [`Rebuild`](/api/Sandbox.PolygonMesh/Rebuild): Triangulate the polygons into a model
- [`RemoveBadFaces`](/api/Sandbox.PolygonMesh/RemoveBadFaces)
- [`RemoveBadGeometry`](/api/Sandbox.PolygonMesh/RemoveBadGeometry): Remove all invalid geometry from the mesh: degenerate faces, edges not attached to any face and vertices not attached to any edge.
- [`RemoveColinearVertexAndUpdateTable`](/api/Sandbox.PolygonMesh/RemoveColinearVertexAndUpdateTable)
- [`RemoveEdges`](/api/Sandbox.PolygonMesh/RemoveEdges)
- [`RemoveFaces`](/api/Sandbox.PolygonMesh/RemoveFaces)
- [`RemoveVertex`](/api/Sandbox.PolygonMesh/RemoveVertex)
- [`RemoveVertices`](/api/Sandbox.PolygonMesh/RemoveVertices)
- [`Scale`](/api/Sandbox.PolygonMesh/Scale): Scale all vertices
- [`SetEdgeSmoothing`](/api/Sandbox.PolygonMesh/SetEdgeSmoothing): Set the smoothing of this edge
- [`SetFaceHidden`](/api/Sandbox.PolygonMesh/SetFaceHidden): Hide or show a face. Hidden faces are editor only and not saved, they are excluded from the rebuilt model so they don't render or trace.
- [`SetFaceMaterial`](/api/Sandbox.PolygonMesh/SetFaceMaterial): Assign a material to a face
- [`SetFaceTextureCoords`](/api/Sandbox.PolygonMesh/SetFaceTextureCoords)
- [`SetFaceTextureParameters`](/api/Sandbox.PolygonMesh/SetFaceTextureParameters)
- [`SetSmoothingAngle`](/api/Sandbox.PolygonMesh/SetSmoothingAngle)
- [`SetTextureCoord`](/api/Sandbox.PolygonMesh/SetTextureCoord): Set face vertex texture coord
- [`SetTextureOffset`](/api/Sandbox.PolygonMesh/SetTextureOffset): Set texture offset of a face
- [`SetTextureScale`](/api/Sandbox.PolygonMesh/SetTextureScale): Set texture scale of a face
- [`SetTransform`](/api/Sandbox.PolygonMesh/SetTransform): Set transform without computing texture parameters from coordinates.
- [`SetVertexBlend`](/api/Sandbox.PolygonMesh/SetVertexBlend): Set the blend of a vertex
- [`SetVertexColor`](/api/Sandbox.PolygonMesh/SetVertexColor): Set the color of a vertex
- [`SetVertexPosition`](/api/Sandbox.PolygonMesh/SetVertexPosition): Set the position of a vertex
- [`SplitEdges`](/api/Sandbox.PolygonMesh/SplitEdges)
- [`SplitFacesIntoIslandsForUVMapping`](/api/Sandbox.PolygonMesh/SplitFacesIntoIslandsForUVMapping)
- [`TextureAlignToFace`](/api/Sandbox.PolygonMesh/TextureAlignToFace): Align face texture properties to face
- [`TextureAlignToGrid`](/api/Sandbox.PolygonMesh/TextureAlignToGrid): Align face texture properties to grid
- [`TextureWrapFromFace`](/api/Sandbox.PolygonMesh/TextureWrapFromFace): Continue the texture mapping of an adjacent source face onto a destination face across their shared edge, keeping the texture continuous over the edge. Returns false if the faces don't share an edge or the source parameters are unusable.
- [`TextureWrapFromNeighbour`](/api/Sandbox.PolygonMesh/TextureWrapFromNeighbour)
- [`ThickenFaces`](/api/Sandbox.PolygonMesh/ThickenFaces)
- [`TriangleToFace`](/api/Sandbox.PolygonMesh/TriangleToFace): Convert a triangle index to a face handle
- [`UnionExtentsForFaces`](/api/Sandbox.PolygonMesh/UnionExtentsForFaces)
- [`VertexHandleFromIndex`](/api/Sandbox.PolygonMesh/VertexHandleFromIndex)
