Python vtk.vtkLineSource() Examples
The following are 3
code examples of vtk.vtkLineSource().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
vtk
, or try the search function
.
Example #1
Source File: geometric_objects.py From pyvista with MIT License | 5 votes |
def Line(pointa=(-0.5, 0., 0.), pointb=(0.5, 0., 0.), resolution=1): """Create a line. Parameters ---------- pointa : np.ndarray or list Location in [x, y, z]. pointb : np.ndarray or list Location in [x, y, z]. resolution : int number of pieces to divide line into """ if resolution <= 0: raise ValueError('Resolution must be positive') if np.array(pointa).size != 3: raise TypeError('Point A must be a length three tuple of floats.') if np.array(pointb).size != 3: raise TypeError('Point B must be a length three tuple of floats.') src = vtk.vtkLineSource() src.SetPoint1(*pointa) src.SetPoint2(*pointb) src.SetResolution(resolution) src.Update() line = pyvista.wrap(src.GetOutput()) # Compute distance of every point along line compute = lambda p0, p1: np.sqrt(np.sum((p1 - p0)**2, axis=1)) distance = compute(np.array(pointa), line.points) line['Distance'] = distance return line
Example #2
Source File: pointobject.py From Det3D with Apache License 2.0 | 5 votes |
def CreateLine(self, p1, p2): "Create a 3D line from p1=[x1,y1,z1] to p2=[x2,y2,z2]" line = vtk.vtkLineSource() line.SetPoint1(*p1) line.SetPoint2(*p2) line.Update() self.pd = vtk.vtkPolyData() self.pd.DeepCopy(line.GetOutput()) self.scalars = None self.SetupPipelineMesh()
Example #3
Source File: Visualization.py From PyNite with MIT License | 4 votes |
def __init__(self, member, nodes, text_height=5): # Generate a line for the member line = vtk.vtkLineSource() # Step through each node in the model and find the position of the i-node and j-node for node in nodes: # Check to see if the current node is the i-node if node.Name == member.iNode.Name: Xi = node.X Yi = node.Y Zi = node.Z line.SetPoint1(Xi, Yi, Zi) # Check to see if the current node is the j-node elif node.Name == member.jNode.Name: Xj = node.X Yj = node.Y Zj = node.Z line.SetPoint2(Xj, Yj, Zj) # Set up a mapper for the member mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(line.GetOutputPort()) # Set up an actor for the member self.actor = vtk.vtkActor() self.actor.SetMapper(mapper) # Create the text for the member label label = vtk.vtkVectorText() label.SetText(member.Name) # Set up a mapper for the member label lblMapper = vtk.vtkPolyDataMapper() lblMapper.SetInputConnection(label.GetOutputPort()) # Set up an actor for the member label self.lblActor = vtk.vtkFollower() self.lblActor.SetMapper(lblMapper) self.lblActor.SetScale(text_height, text_height, text_height) self.lblActor.SetPosition((Xi+Xj)/2, (Yi+Yj)/2, (Zi+Zj)/2) #%% # Converts a plate object into a plate for the viewer