Click or drag to resize

Face Class

[This is preliminary documentation and is subject to change.]

Defines a face, which is defined by some indexes that refer to vertices.
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.SubtypesFace

Namespace:  ModelExchanger.AnalysisDataModel.Subtypes
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class Face : IEquatable<Face>

The Face type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyLoops
A list loops that point to the vertex indexes that define the face
Top
Methods
  NameDescription
Public methodEquals(Face)
Check if this instance is equal to the provided instance. Faces are equal when they have the exact same amount of loops and each loop has the same vertex indexes in the same order.
Public methodEquals(Object)
Check if this instance is equal to the provided object
(Overrides ObjectEquals(Object).)
Public methodGetHashCode
Calculates the hashcode of this object
(Overrides ObjectGetHashCode.)
Top
Examples
Creating an instance
private IReadOnlyList<Face> CreateFaces() => new[]
{
    new Face(new []{ 0,1,2,3}), // Front
    new Face(new []{ 1,5,6,2}), // Right
    new Face(new []{ 5,4,7,6}), // Back
    new Face(new []{ 4,0,3,7}), // Left
    new Face(new [] // Bottom
    {
        new []{ 4,5,1,0 },
        new []{11,8,9,10} // Opening
    }),
    new Face(new [] // Top
    {
        new []{ 3,2,6,7},
        new [] {12,15,14,13} // Opening
    }),
    new Face(new []{8,9,13,12}), // Inner front
    new Face(new []{ 9,10,14,13}), // Inner right
    new Face(new [] { 10,11,15,14}), // Inner back
    new Face(new []{ 11,8,12,15}), // Inner left
};
See Also