Beispiel #1
0
def find_face_by_mapping(tris):
    # the mid point
    centerPoint = SimpleMath.tuple_numproduct(
        1.0 / 3.0,
        SimpleMath.tuple_plus(
            ModelData.dictVertices[tris[0]],
            SimpleMath.tuple_plus(ModelData.dictVertices[tris[1]], ModelData.dictVertices[tris[2]]),
        ),
    )
    # mapping by distance
    for fKey in ModelData.dictFaces:
        fVertices = ModelData.dictFaces[fKey].get_vids()
        if SimpleMath.is_point_in_triangle_3(
            centerPoint,
            (
                ModelData.dictVertices[fVertices[0]],
                ModelData.dictVertices[fVertices[1]],
                ModelData.dictVertices[fVertices[2]],
            ),
        ):
            return fKey