def get_vtk_cell_data(self, position, point_offset, cell_offset): cells = [] for triangle in self.rt_triangles: # TODO:offset can be done simpler cells.append(triangle[1] + point_offset) point_offset += triangle[0].shape[0] vtk_cells = vstack(cells) # vtk_cells = vstack([triangle[1] # for triangle in self.rt_triangles]) # print "vtk_cells_array", vtk_cells n_cell_points = vtk_cells.shape[1] n_cells = vtk_cells.shape[0] vtk_cell_array = hstack((ones((n_cells, 1), dtype=int) * n_cell_points, vtk_cells)) vtk_cell_offsets = arange( n_cells, dtype=int) * (n_cell_points + 1) + cell_offset if n_cell_points == 3: cell_str = 'Triangle' elif n_cell_points == 2: cell_str = 'Line' cell_class = tvtk_helper.get_class(cell_str) cell_type = cell_class().cell_type vtk_cell_types = ones(n_cells, dtype=int) * cell_type if self.debug_cell_data: print 'vtk_cells_array', vtk_cell_array print 'vtk_cell_offsets', vtk_cell_offsets print 'vtk_cell_types', vtk_cell_types return vtk_cell_array.flatten(), vtk_cell_offsets, vtk_cell_types
def _get_vtk_ip_cell_data(self): n_ip_pnts = self.ip_coords.shape[0] cell_types = array([(tvtk_helper.get_class('PolyVertex')()).cell_type]) return (array([ 0, ], dtype=int), array([n_ip_pnts], dtype=int), arange(n_ip_pnts), cell_types)
def _get_vtk_ip_cell_data(self): n_ip_pnts = self.ip_coords.shape[0] cell_types = array([(tvtk_helper.get_class('PolyVertex')()).cell_type]) return (array([0, ], dtype=int), array([n_ip_pnts], dtype=int), arange(n_ip_pnts), cell_types)
def _get_vtk_ip_cell_data(self): from tvtk.tvtk_classes import tvtk_helper n_ip_pnts = self.ip_coords.shape[0] cell_types = np.array([ (tvtk_helper.get_class('PolyVertex')()).cell_type ]) return (np.array([ 0, ], dtype=int), np.array([n_ip_pnts], dtype=int), np.arange(n_ip_pnts), cell_types)
def _get_vtk_node_cell_data(self): n_cells = len(self.vtk_cells) # check if vtk_cell_types is a list, if not make one if isinstance(self.vtk_cell_types, str): cell_classes = [self.vtk_cell_types for i in range(n_cells)] else: cell_classes = self.vtk_cell_types from tvtk.tvtk_classes import tvtk_helper cell_types = [] for cell_str in cell_classes: cell_class = tvtk_helper.get_class(cell_str) cell_types.append(cell_class().cell_type) if isinstance(self.vtk_cells[0], int): # just a single cell defined return (np.array([ 0, ], dtype=int), np.array(self.vtk_cells.shape[0], dtype=int), np.array(self.vtk_cells, dtype=int), cell_types) offset_list = [] length_list = [] cell_list = [] vtk_offset = 0 for cell in self.vtk_cells: cell_len = len(cell) cell_list += cell length_list.append(cell_len) offset_list.append(vtk_offset) vtk_offset += cell_len + 1 return (np.array(offset_list, dtype=int), np.array(length_list, dtype=int), np.array(cell_list, dtype=int), np.array(cell_types, dtype=int))
def _get_vtk_node_cell_data(self): n_cells = len(self.vtk_cells) # check if vtk_cell_types is a list, if not make one if isinstance(self.vtk_cell_types, str): cell_classes = [self.vtk_cell_types for i in range(n_cells)] else: cell_classes = self.vtk_cell_types cell_types = [] for cell_str in cell_classes: cell_class = tvtk_helper.get_class(cell_str) cell_types.append(cell_class().cell_type) if isinstance(self.vtk_cells[0], int): # just a single cell defined return (array([0, ], dtype=int), array(self.vtk_cells.shape[0], dtype=int), array(self.vtk_cells, dtype=int), cell_types) offset_list = [] length_list = [] cell_list = [] vtk_offset = 0 for cell in self.vtk_cells: cell_len = len(cell) cell_list += cell length_list.append(cell_len) offset_list.append(vtk_offset) vtk_offset += cell_len + 1 return (array(offset_list, dtype=int), array(length_list, dtype=int), array(cell_list, dtype=int), array(cell_types, dtype=int))
def _get_vtk_cell_class(self): from tvtk.tvtk_classes import tvtk_helper return tvtk_helper.get_class(self.vtk_cell_type)
def _get_vtk_cell_class(self): return tvtk_helper.get_class(self.vtk_cell_type)