对象表示

VTK 和 PyVista 都为其对象提供表示。

VTK 为其数据类型提供详细表示(用于调试),可通过 print() 访问,因为 __repr__(与 __str__ 不同)仅提供有关每个对象的最小信息:

code.python
>>> print(vtk_poly_data)
vtkPolyData(0x55f2378365d0)
  Debug: Off
  Modified Time: 6621
  Reference Count: 1
  Registered Events: (none)
  Information: 0x55f2379418e0
  Data Released: False
  Global Release Data: Off
  UpdateTime: 0
  Field Data:
    Debug: Off
    Modified Time: 6577
    Reference Count: 1
    Registered Events: (none)
    Number Of Arrays: 0
    Number Of Components: 0
    Number Of Tuples: 0
  Number Of Points: 3
  Number Of Cells: 1
  Cell Data:
    Debug: Off
    Modified Time: 6605
    Reference Count: 1
    Registered Events:
      Registered Observers:
        vtkObserver(0x55f237873ba0)
          Event: 33
          EventName: ModifiedEvent
          Command: 0x55f23796a7a0
          Priority: 0
          Generation: 3
          Tag: 1
    Number Of Arrays: 0
    Number Of Components: 0
    Number Of Tuples: 0
    Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 1 1 1 1 )
    Interpolate Flags: ( 1 1 1 1 1 0 0 1 1 1 1 0 )
    Pass Through Flags: ( 1 1 1 1 1 1 1 1 1 1 1 1 )
    Scalars: (none)
    Vectors: (none)
    Normals: (none)
    TCoords: (none)
    Tensors: (none)
    GlobalIds: (none)
    PedigreeIds: (none)
    EdgeFlag: (none)
    Tangents: (none)
    RationalWeights: (none)
    HigherOrderDegrees: (none)
    ProcessIds: (none)
  Point Data:
    Debug: Off
    Modified Time: 6603
    Reference Count: 1
    Registered Events:
      Registered Observers:
        vtkObserver(0x55f237836750)
          Event: 33
          EventName: ModifiedEvent
          Command: 0x55f23796a7a0
          Priority: 0
          Generation: 3
          Tag: 1
    Number Of Arrays: 0
    Number Of Components: 0
    Number Of Tuples: 0
    Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 1 1 1 1 )
    Interpolate Flags: ( 1 1 1 1 1 0 0 1 1 1 1 0 )
    Pass Through Flags: ( 1 1 1 1 1 1 1 1 1 1 1 1 )
    Scalars: (none)
    Vectors: (none)
    Normals: (none)
    TCoords: (none)
    Tensors: (none)
    GlobalIds: (none)
    PedigreeIds: (none)
    EdgeFlag: (none)
    Tangents: (none)
    RationalWeights: (none)
    HigherOrderDegrees: (none)
    ProcessIds: (none)
  Bounds:
    Xmin,Xmax: (0, 1)
    Ymin,Ymax: (0, 0.667)
    Zmin,Zmax: (0, 0)
  Compute Time: 6708
  Editable: false
  Number Of Points: 3
  Point Coordinates: 0x55f2371e2bd0
  PointLocator: 0
  CellLocator: 0
  Number Of Vertices: 0
  Number Of Lines: 0
  Number Of Polygons: 1
  Number Of Triangle Strips: 0
  Number Of Pieces: 1
  Piece: -1
  Ghost Level: 0
  CellsBounds:
    Xmin,Xmax: (0, 1)
    Ymin,Ymax: (0, 0.667)
    Zmin,Zmax: (0, 0)
  CellsBounds Time: 6709

PyVista 选择在 repr() 中显示最少的数据,更喜欢在网格上显式属性访问以获取大部分属性。例如:

code.python
>>> poly_data

在此表示中我们看到:

所有其他属性如 lines、point_data 或 cell_data 可以直接从对象访问。选择此方法是为了提供简要摘要,显示 DataSet 的关键部分,而不会使用户不知所措。