public MeshBuilderTriangle(VoxelCell targetCell,
                            VoxelCell sourceCell,
                            IMeshBuilderPoint pointA,
                            IMeshBuilderPoint pointB,
                            IMeshBuilderPoint pointC)
     : this(targetCell, sourceCell, pointA, pointB, pointC, targetCell.CellPosition - pointA.Position)
 {
 }
        public MeshBuilderTriangle(VoxelCell targetCell,
                                   VoxelCell sourceCell,
                                   IMeshBuilderPoint pointA,
                                   IMeshBuilderPoint pointB,
                                   IMeshBuilderPoint pointC,
                                   Vector3 lookTarget)
        {
            TargetCell = targetCell;
            SourceCell = sourceCell;
            PointA     = pointA;
            bool reorderVerts = GetShouldReorderVerts(lookTarget, pointA.Position, pointB.Position, pointC.Position);

            PointB     = reorderVerts ? pointB : pointC;
            PointC     = reorderVerts ? pointC : pointB;
            LookTarget = lookTarget;
        }
 public int GetVertIndex(IMeshBuilderPoint point)
 {
     return(indexTable[point.Key]);
 }