Найдите линию пересечения между двумя сетками - PullRequest
1 голос
/ 13 июля 2020

Я ищу линию (сегменты) пересечения между двумя сетками в python Я пробовал это:

import pyvista as pv
import vtk

def get_mesh_intersection(mesh1, mesh2):
    '''
    Find the intersection volume between mesh vtk objects
    and return the volume of intersection
    '''
    alg = vtk.vtkBooleanOperationPolyDataFilter()
    alg.SetInputData(0, mesh2)
    alg.SetInputData(1, mesh1)
    alg.SetOperationToIntersection()
    alg.Update()
    intersection = pv.wrap(alg.GetOutput())
    return intersection

intersection = get_mesh_intersection(grid1, grid2)

Могу ли я извлечь из intersection линию? как? Я вижу, что могу получить intersection.volume intersection.area intersection.points intersection.points - это то, что я ищу?

1 Ответ

2 голосов
/ 14 июля 2020

Думаю, вам следует использовать vtkIntersectionPolyDataFilter вместо фильтра логических операций.

...