Ejemplo n.º 1
0
def ListLinePlot(points):
    if isinstance(points, np.ndarray):
        points = points.tolist()
    if depth(points) == 2:
        Graphics2D([Line(np.transpose(np.array([map(float, range(len(points))), points])))])
    if depth(points) == 3 and len(points[1]) == 2:
        Graphics2D([Line(tofloat(points))])
    if depth(points) == 3 and len(points[1]) == 3:
        Graphics3D([Line(tofloat(points))])
Ejemplo n.º 2
0
def __isintlist(arg):
    if depth(arg) > 1:
        return max([__isintlist(i) for i in arg])
    else:
        if isinstance(arg, int):
            return 0
        else:
            return 1
Ejemplo n.º 3
0
 def _createpoint(self, pointnumbers):
     if depth(pointnumbers) >= 3:
         for p in pointnumbers:
             self._createpoint(p)
     else:
         self.verts.InsertNextCell(len(pointnumbers))
         for p in pointnumbers:
             self.verts.InsertCellPoint(p)
Ejemplo n.º 4
0
 def _createline(self, pointnumbers):
     if depth(pointnumbers) >= 3:
         for p in pointnumbers:
             self._createline(p)
     else:
         for i in range(len(pointnumbers) - 1):
             line = vtk.vtkLine()
             line.GetPointIds().SetId(0, pointnumbers[i])
             line.GetPointIds().SetId(1, pointnumbers[i + 1])
             self.lines.InsertNextCell(line)
             i = i + 1
Ejemplo n.º 5
0
 def _createpolygon(self, pointnumbers):
     if depth(pointnumbers) >= 3:
         for p in pointnumbers:
             self._createpolygon(p)
     else:
         polygon = vtk.vtkPolygon()
         polygon.GetPointIds().SetNumberOfIds(len(pointnumbers))
         i = 0
         for p in pointnumbers:
             polygon.GetPointIds().SetId(i, p)
             i += 1
         self.polygons.InsertNextCell(polygon)
Ejemplo n.º 6
0
    def addcoordinates(self, coordinates, add="", start=""):
        if isinstance(start, str):
            startval = len(coordinates) - 1
            additionalcoordinates = self.pointnumbers
        else:
            startval = start
            additionalcoordinates = add

        for i in range(len(additionalcoordinates)):
            if depth(additionalcoordinates[i]) > 2:
                self.addcoordinates(coordinates, add=additionalcoordinates[i], start=startval)
            else:
                startval += 1
                if len(coordinates) == 0:
                    coordinates = [additionalcoordinates[i] * 1]
                else:
                    coordinates = np.append(coordinates, [additionalcoordinates[i]], axis=0)
                additionalcoordinates[i, 0] = startval

        if isinstance(start, str):
            self.pointnumbers = additionalcoordinates.transpose()[0,]
            return coordinates
        else:
            return additionalcoordinates