Show / Hide Table of Contents

    Class Face

    A Face within a cell. Multiple cells can share the same Face.

    Inheritance
    System.Object
    ChildBase<Face, Polygon>
    Face
    Implements
    IDistanceTo
    IHasNeighbors<Face, Polygon>
    Inherited Members
    ChildBase<Face, Polygon>.Id
    ChildBase<Face, Polygon>.CellComplex
    ChildBase<Face, Polygon>.GetHashCode()
    ChildBase<Face, Polygon>.DistanceTo(Vector3)
    ChildBase<Face, Polygon>.Equals(Object)
    ChildBase<Face, Polygon>.GetGeometry()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Elements.Spatial.CellComplex
    Assembly: Hypar.Elements.dll
    Syntax
    public class Face : ChildBase<Face, Polygon>, IDistanceTo, IHasNeighbors<Face, Polygon>

    Fields

    DirectedEdgeIds

    Directed edge IDs.

    Declaration
    public List<ulong> DirectedEdgeIds
    Field Value
    Type Description
    System.Collections.Generic.List<System.UInt64>

    Methods

    DistanceTo(Vector3)

    Get the shortest distance from a point to the geometry representing this face.

    Declaration
    public override double DistanceTo(Vector3 point)
    Parameters
    Type Name Description
    Vector3 point
    Returns
    Type Description
    System.Double
    Overrides
    Elements.Spatial.CellComplex.ChildBase<Elements.Spatial.CellComplex.Face, Elements.Geometry.Polygon>.DistanceTo(Elements.Geometry.Vector3)

    GetCells()

    Get associated Cells.

    Declaration
    public List<Cell> GetCells()
    Returns
    Type Description
    System.Collections.Generic.List<Cell>

    GetClosestCell(Vector3)

    Get the associated Cell that is closest to a point.

    Declaration
    public Cell GetClosestCell(Vector3 point)
    Parameters
    Type Name Description
    Vector3 point
    Returns
    Type Description
    Cell

    GetClosestEdge(Vector3)

    Get the associated Edge that is closest to a point.

    Declaration
    public Edge GetClosestEdge(Vector3 point)
    Parameters
    Type Name Description
    Vector3 point
    Returns
    Type Description
    Edge

    GetClosestNeighbor(Vector3)

    Get the closest associated Face to a given point.

    Declaration
    public Face GetClosestNeighbor(Vector3 target)
    Parameters
    Type Name Description
    Vector3 target
    Returns
    Type Description
    Face

    GetClosestNeighbor(Vector3, Boolean, Boolean)

    Get the closest associated Face to a given point.

    Declaration
    public Face GetClosestNeighbor(Vector3 target, bool parallel = false, bool includeSharedVertices = false)
    Parameters
    Type Name Description
    Vector3 target
    System.Boolean parallel

    If true, only checks faces that are oriented the same way as this Face.

    System.Boolean includeSharedVertices

    If true, checks Faces that share a Vertex as well as Faces that share a Edge.

    Returns
    Type Description
    Face

    GetClosestVertex(Vector3)

    Get the associated Vertex that is closest to a point.

    Declaration
    public Vertex GetClosestVertex(Vector3 point)
    Parameters
    Type Name Description
    Vector3 point
    Returns
    Type Description
    Vertex

    GetEdges()

    Get associated Edges.

    Declaration
    public List<Edge> GetEdges()
    Returns
    Type Description
    System.Collections.Generic.List<Edge>

    GetGeometry()

    Get the geometry for this Face.

    Declaration
    public override Polygon GetGeometry()
    Returns
    Type Description
    Polygon
    Overrides
    Elements.Spatial.CellComplex.ChildBase<Elements.Spatial.CellComplex.Face, Elements.Geometry.Polygon>.GetGeometry()

    GetNeighbors()

    Get a list of all neighbors of this Face. A neighbor is defined as a Face which shares any Edge.

    Declaration
    public List<Face> GetNeighbors()
    Returns
    Type Description
    System.Collections.Generic.List<Face>

    GetNeighbors(Edge, Boolean)

    Get a list of neighboring Faces that share a specific Edge.

    Declaration
    public List<Face> GetNeighbors(Edge edge, bool parallel = false)
    Parameters
    Type Name Description
    Edge edge

    Edge that the neighbor should share.

    System.Boolean parallel

    Whether to only return Faces that are parallel to this Face.

    Returns
    Type Description
    System.Collections.Generic.List<Face>

    GetNeighbors(Boolean, Boolean)

    Get a list of all neighbors of this Face. A neighbor is defined as a Face which shares any Edge.

    Declaration
    public List<Face> GetNeighbors(bool parallel = false, bool includeSharedVertices = false)
    Parameters
    Type Name Description
    System.Boolean parallel

    If true, only returns Faces that are oriented the same way as this Face.

    System.Boolean includeSharedVertices

    If true, includes Faces that share a Vertex as well as Faces that share an Edge.

    Returns
    Type Description
    System.Collections.Generic.List<Face>

    GetOrientation()

    Get the user-set U and V Orientatinos of this face.

    Declaration
    public (Orientation U, Orientation V) GetOrientation()
    Returns
    Type Description
    System.ValueTuple<Orientation, Orientation>

    GetVertices()

    Get associated Vertices.

    Declaration
    public List<Vertex> GetVertices()
    Returns
    Type Description
    System.Collections.Generic.List<Vertex>

    TraverseNeighbors(Vector3, Boolean, Boolean, Double)

    Traverse the neighbors of this Face toward the target point.

    Declaration
    public List<Face> TraverseNeighbors(Vector3 target, bool parallel = false, bool includeSharedVertices = false, double completedRadius = 0)
    Parameters
    Type Name Description
    Vector3 target
    System.Boolean parallel

    If true, only checks faces that are oriented the same way as this Face.

    System.Boolean includeSharedVertices

    If true, checks Faces that share a Vertex as well as Faces that share a Edge.

    System.Double completedRadius

    If provided, ends the traversal when the neighbor is within this distance to the target point.

    Returns
    Type Description
    System.Collections.Generic.List<Face>

    A collection of traversed Faces, including the starting Face.

    TraverseNeighbors(Vector3, Double)

    Traverse the neighbors of this Face toward the target point.

    Declaration
    public List<Face> TraverseNeighbors(Vector3 target, double completedRadius = 0)
    Parameters
    Type Name Description
    Vector3 target
    System.Double completedRadius
    Returns
    Type Description
    System.Collections.Generic.List<Face>

    Implements

    IDistanceTo
    IHasNeighbors<ChildClass, GeometryType>
    In This Article
    • Fields
      • DirectedEdgeIds
    • Methods
      • DistanceTo(Vector3)
      • GetCells()
      • GetClosestCell(Vector3)
      • GetClosestEdge(Vector3)
      • GetClosestNeighbor(Vector3)
      • GetClosestNeighbor(Vector3, Boolean, Boolean)
      • GetClosestVertex(Vector3)
      • GetEdges()
      • GetGeometry()
      • GetNeighbors()
      • GetNeighbors(Edge, Boolean)
      • GetNeighbors(Boolean, Boolean)
      • GetOrientation()
      • GetVertices()
      • TraverseNeighbors(Vector3, Boolean, Boolean, Double)
      • TraverseNeighbors(Vector3, Double)
    • Implements