140#ifndef vtkLSDynaReader_h 
  141#define vtkLSDynaReader_h 
  143#include "vtkIOLSDynaModule.h"  
  147VTK_ABI_NAMESPACE_BEGIN
 
  304  vtkGetVector2Macro(TimeStepRange, 
int);
 
  305  vtkSetVector2Macro(TimeStepRange, 
int);
 
  316  virtual void SetPointArrayStatus(
const char* arrName, 
int status);
 
  318  int GetPointArrayStatus(
const char* arrName);
 
  320  int GetNumberOfComponentsInPointArray(
const char* arrName);
 
  333  virtual void SetCellArrayStatus(
int cellType, 
const char* arrName, 
int status);
 
  335  int GetCellArrayStatus(
int cellType, 
const char* arrName);
 
  337  int GetNumberOfComponentsInCellArray(
int cellType, 
const char* arrName);
 
  348  virtual void SetSolidArrayStatus(
const char* arrName, 
int status);
 
  350  int GetSolidArrayStatus(
const char* arrName);
 
  354  int GetNumberOfComponentsInSolidArray(
const char* arrName);
 
  364  virtual void SetThickShellArrayStatus(
const char* arrName, 
int status);
 
  366  int GetThickShellArrayStatus(
const char* arrName);
 
  370  int GetNumberOfComponentsInThickShellArray(
const char* arrName);
 
  380  virtual void SetShellArrayStatus(
const char* arrName, 
int status);
 
  382  int GetShellArrayStatus(
const char* arrName);
 
  386  int GetNumberOfComponentsInShellArray(
const char* arrName);
 
  396  virtual void SetRigidBodyArrayStatus(
const char* arrName, 
int status);
 
  398  int GetRigidBodyArrayStatus(
const char* arrName);
 
  402  int GetNumberOfComponentsInRigidBodyArray(
const char* arrName);
 
  412  virtual void SetRoadSurfaceArrayStatus(
const char* arrName, 
int status);
 
  414  int GetRoadSurfaceArrayStatus(
const char* arrName);
 
  418  int GetNumberOfComponentsInRoadSurfaceArray(
const char* arrName);
 
  428  virtual void SetBeamArrayStatus(
const char* arrName, 
int status);
 
  430  int GetBeamArrayStatus(
const char* arrName);
 
  434  int GetNumberOfComponentsInBeamArray(
const char* arrName);
 
  444  virtual void SetParticleArrayStatus(
const char* arrName, 
int status);
 
  446  int GetParticleArrayStatus(
const char* arrName);
 
  450  int GetNumberOfComponentsInParticleArray(
const char* arrName);
 
  501  vtkSetStringMacro(InputDeck);
 
  502  vtkGetStringMacro(InputDeck);
 
  519  virtual void SetPartArrayStatus(
const char* partName, 
int status);
 
  521  int GetPartArrayStatus(
const char* partName);
 
  547  int TimeStepRange[2];
 
  669  template <
typename T>
 
  671    const vtkIdType& numCells, 
const int& deathPos, 
const int& cellSize);
 
  673  template <
int wordSize, 
typename T>
 
  674  int FillTopology(T* buffer);
 
  676  template <
typename T, 
int blockType, vtkIdType numWordsPerCell, vtkIdType cellLength>
 
  677  void ReadBlockCellSizes();
 
  679  template <
typename T>
 
  696  vtkWarningMacro(
"Point array \"" << arrName << 
"\" does not exist");
 
  735  vtkWarningMacro(
"Cell array \"" << arrName << 
"\" (type " << cellType << 
") does not exist");
 
  774  vtkWarningMacro(
"Solid array \"" << arrName << 
"\" does not exist");
 
  813  vtkWarningMacro(
"Thick shell array \"" << arrName << 
"\" does not exist");
 
  852  vtkWarningMacro(
"Shell array \"" << arrName << 
"\" does not exist");
 
  891  vtkWarningMacro(
"Beam array \"" << arrName << 
"\" does not exist");
 
  930  vtkWarningMacro(
"Particle array \"" << arrName << 
"\" does not exist");
 
  969  vtkWarningMacro(
"Rigid body array \"" << arrName << 
"\" does not exist");
 
 1008  vtkWarningMacro(
"Road surface array \"" << arrName << 
"\" does not exist");
 
 1047  vtkWarningMacro(
"Part \"" << arrName << 
"\" does not exist");
 
 1063VTK_ABI_NAMESPACE_END
 
abstract superclass for arrays of numeric data
 
a simple class to control print indentation
 
Read LS-Dyna databases (d3plot)
 
virtual void SetDatabaseDirectory(VTK_FILEPATH const char *)
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
 
const char * GetRigidBodyArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int GetNumberOfParticleArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int GetRigidBodyArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadSPHState(vtkIdType)
These functions read various parts of the database.
 
const char * GetCellArrayName(int cellType, int arr)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
 
virtual int ReadInputDeck()
Called from within ReadHeaderInformation() to read part names associated with material IDs.
 
virtual int ReadCellStateInfo(vtkIdType)
These functions read various parts of the database.
 
const char * GetSolidArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
void Dump(ostream &os)
Print out more complete information about the dataset (and less complete information about the VTK hi...
 
int GetRoadSurfaceArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadPartTitlesFromRootFile()
Called from within ReadHeaderInformation to read part names from the end of the first d3plot file.
 
vtkIdType GetNumberOfCells()
Retrieve the number of cells of a given type in the database.
 
int GetNumberOfComponentsInParticleArray(int a)
 
int GetParticleArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadUserIds()
These functions read various parts of the database.
 
virtual void SetThickShellArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
vtkIdType GetNumberOfShellCells()
Retrieve the number of cells of a given type in the database.
 
int ReadInputDeckKeywords(istream &deck)
ReadInputDeck determines the type of file (keyword or XML summary) and calls one of these two routine...
 
int GetNumberOfComponentsInCellArray(int cellType, int arr)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
 
virtual void SetShellArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int GetNumberOfComponentsInBeamArray(int a)
 
int ReadHeaderInformation(int currentAdaptLevel)
This function populates the reader's private dictionary with information about the database.
 
virtual void SetDatabaseDirectory(VTK_FILEPATH const std::string &)
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
 
const char * GetRoadSurfaceArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
char * InputDeck
The name of a file containing part names and IDs.
 
virtual int CanReadFile(VTK_FILEPATH const char *fname)
Determine if the file can be read with this reader.
 
virtual void SetSolidArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadUserMaterialIds()
Called from within ReadHeaderInformation() to read arbitrary material IDs (if present) or manufacture...
 
int GetThickShellArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int GetNumberOfSolidArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
char * GetTitle()
The title of the database is a 40 or 80 character text description stored at the front of a d3plot fi...
 
int GetBeamArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadNodeStateInfo(vtkIdType)
These functions read various parts of the database.
 
vtkLSDynaPartCollection * Parts
 
void DebugDump()
A routine to call Dump() from within a lame debugger that won't properly pass a C++ iostream object l...
 
int GetNumberOfRigidBodyArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadState(vtkIdType)
These functions read various parts of the database.
 
int GetNumberOfPartArrays()
These methods allow you to load only selected parts of the input.
 
const char * GetThickShellArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
const char * GetParticleArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
vtkIdType GetNumberOfRigidBodyCells()
Retrieve the number of cells of a given type in the database.
 
int GetNumberOfComponentsInPointArray(int arr)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh.
 
vtkTypeBool DeformedMesh
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
 
const char * GetPointArrayName(int)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh.
 
virtual void ReadDeletionArray(vtkUnsignedCharArray *arr, const int &pos, const int &size)
Read an array of deletion data.
 
int WriteInputDeckSummary(const char *fname)
ReadInputDeckKeywords calls this function if it was successful in reading part names for materials.
 
int GetDimensionality()
Retrieve the dimension of points in the database.
 
const char * GetShellArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
vtkIdType GetNumberOfThickShellCells()
Retrieve the number of cells of a given type in the database.
 
virtual void SetParticleArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
static vtkLSDynaReader * New()
 
int GetNumberOfShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int GetShellArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
~vtkLSDynaReader() override
 
virtual void SetPointArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh.
 
int GetNumberOfComponentsInRigidBodyArray(int a)
 
virtual void SetFileName(VTK_FILEPATH const char *)
Get/Set the filename.
 
const char * GetPartArrayName(int)
These methods allow you to load only selected parts of the input.
 
int GetNumberOfThickShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
double GetTimeValue(vtkIdType)
Retrieve information about the time extents of the LS-Dyna database.
 
int GetNumberOfCellArrays(int cellType)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
 
int GetNumberOfRoadSurfaceArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual int ReadPartSizes()
These functions read various parts of the database.
 
virtual void SetBeamArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int ReadInputDeckXML(istream &deck)
ReadInputDeck determines the type of file (keyword or XML summary) and calls one of these two routine...
 
vtkIdType GetTimeStep()
Retrieve information about the time extents of the LS-Dyna database.
 
int IsDatabaseValid()
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
vtkIdType GetNumberOfParticleCells()
Retrieve the number of cells of a given type in the database.
 
VTK_FILEPATH std::string GetDatabaseDirectory()
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
 
int GetNumberOfBeamArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual void SetPartArrayStatus(int arr, int status)
These methods allow you to load only selected parts of the input.
 
vtkTypeBool DeletedCellsAsGhostArray
Should cells marked as deleted be removed from the mesh? By default, this is true.
 
virtual int ReadConnectivityAndMaterial()
These functions read various parts of the database.
 
virtual void ResetPartInfo()
Resets the Part information to the default state.
 
virtual void SetFileName(VTK_FILEPATH const std::string &)
Get/Set the filename.
 
virtual int ReadNodes()
These functions read various parts of the database.
 
vtkIdType GetNumberOfNodes()
Retrieve the number of points in the database.
 
virtual void SetRoadSurfaceArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
virtual int ReadTopology()
These functions read various parts of the database.
 
VTK_FILEPATH std::string GetFileName()
Get/Set the filename.
 
int GetNumberOfComponentsInRoadSurfaceArray(int a)
 
int GetNumberOfComponentsInSolidArray(int a)
 
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
int GetNumberOfPointArrays()
These methods allow you to load only selected subsets of the nodal variables defined over the mesh.
 
virtual void SetCellArrayStatus(int cellType, int arr, int status)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
 
int GetNumberOfComponentsInThickShellArray(int a)
 
virtual int ComputeDeflectionAndUpdateGeometry(vtkUnstructuredGrid *grid)
These functions read various parts of the database.
 
vtkIdType GetNumberOfSolidCells()
Retrieve the number of cells of a given type in the database.
 
virtual void ReadCellProperties(const int &type, const int &numTuples)
Read all the cell properties of a given part type.
 
int ScanDatabaseTimeSteps()
This function scans the list of files in the database and bookmarks the start of each time step's sta...
 
vtkIdType GetNumberOfTimeSteps()
Retrieve information about the time extents of the LS-Dyna database.
 
int GetCellArrayStatus(int cellType, int arr)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
 
int GetPointArrayStatus(int arr)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh.
 
vtkIdType GetNumberOfRoadSurfaceCells()
Retrieve the number of cells of a given type in the database.
 
vtkIdType GetNumberOfBeamCells()
Retrieve the number of cells of a given type in the database.
 
int GetNumberOfComponentsInShellArray(int a)
 
virtual void SetTimeStep(vtkIdType)
Retrieve information about the time extents of the LS-Dyna database.
 
vtkTypeBool RemoveDeletedCells
Should cells marked as deleted be removed from the mesh? By default, this is true.
 
int GetSolidArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
virtual void SetRigidBodyArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
vtkIdType GetNumberOfContinuumCells()
Retrieve the number of cells of a given type in the database.
 
void SetDeformedMesh(vtkTypeBool)
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
 
virtual int ReadDeletion()
These functions read various parts of the database.
 
int GetPartArrayStatus(int arr)
These methods allow you to load only selected parts of the input.
 
const char * GetBeamArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
 
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
 
represent and manipulate 3D points
 
dynamic, self-adjusting array of unsigned char
 
dataset represents arbitrary combinations of all possible cell types