152 #ifndef vtkLSDynaReader_h
153 #define vtkLSDynaReader_h
155 #include "vtkIOLSDynaModule.h"
197 #ifdef VTK_LEGACY_REMOVE
214 #ifdef VTK_LEGACY_REMOVE
323 vtkGetVector2Macro(TimeStepRange,
int);
324 vtkSetVector2Macro(TimeStepRange,
int);
335 virtual void SetPointArrayStatus(
const char* arrName,
int status);
337 int GetPointArrayStatus(
const char* arrName);
339 int GetNumberOfComponentsInPointArray(
const char* arrName);
352 virtual void SetCellArrayStatus(
int cellType,
const char* arrName,
int status);
354 int GetCellArrayStatus(
int cellType,
const char* arrName);
356 int GetNumberOfComponentsInCellArray(
int cellType,
const char* arrName);
367 virtual void SetSolidArrayStatus(
const char* arrName,
int status);
369 int GetSolidArrayStatus(
const char* arrName);
373 int GetNumberOfComponentsInSolidArray(
const char* arrName);
383 virtual void SetThickShellArrayStatus(
const char* arrName,
int status);
385 int GetThickShellArrayStatus(
const char* arrName);
389 int GetNumberOfComponentsInThickShellArray(
const char* arrName);
399 virtual void SetShellArrayStatus(
const char* arrName,
int status);
401 int GetShellArrayStatus(
const char* arrName);
405 int GetNumberOfComponentsInShellArray(
const char* arrName);
415 virtual void SetRigidBodyArrayStatus(
const char* arrName,
int status);
417 int GetRigidBodyArrayStatus(
const char* arrName);
421 int GetNumberOfComponentsInRigidBodyArray(
const char* arrName);
431 virtual void SetRoadSurfaceArrayStatus(
const char* arrName,
int status);
433 int GetRoadSurfaceArrayStatus(
const char* arrName);
437 int GetNumberOfComponentsInRoadSurfaceArray(
const char* arrName);
447 virtual void SetBeamArrayStatus(
const char* arrName,
int status);
449 int GetBeamArrayStatus(
const char* arrName);
453 int GetNumberOfComponentsInBeamArray(
const char* arrName);
463 virtual void SetParticleArrayStatus(
const char* arrName,
int status);
465 int GetParticleArrayStatus(
const char* arrName);
469 int GetNumberOfComponentsInParticleArray(
const char* arrName);
520 vtkSetStringMacro(InputDeck);
521 vtkGetStringMacro(InputDeck);
538 virtual void SetPartArrayStatus(
const char* partName,
int status);
540 int GetPartArrayStatus(
const char* partName);
566 int TimeStepRange[2];
688 template <
typename T>
690 const vtkIdType& numCells,
const int& deathPos,
const int& cellSize);
692 template <
int wordSize,
typename T>
693 int FillTopology(T* buffer);
695 template <
typename T,
int blockType, vtkIdType numWordsPerCell, vtkIdType cellLength>
696 void ReadBlockCellSizes();
698 template <
typename T>
715 vtkWarningMacro(
"Point array \"" << arrName <<
"\" does not exist");
754 vtkWarningMacro(
"Cell array \"" << arrName <<
"\" (type " << cellType <<
") does not exist");
793 vtkWarningMacro(
"Solid array \"" << arrName <<
"\" does not exist");
832 vtkWarningMacro(
"Thick shell array \"" << arrName <<
"\" does not exist");
871 vtkWarningMacro(
"Shell array \"" << arrName <<
"\" does not exist");
910 vtkWarningMacro(
"Beam array \"" << arrName <<
"\" does not exist");
949 vtkWarningMacro(
"Particle array \"" << arrName <<
"\" does not exist");
988 vtkWarningMacro(
"Rigid body array \"" << arrName <<
"\" does not exist");
1027 vtkWarningMacro(
"Road surface array \"" << arrName <<
"\" does not exist");
1066 vtkWarningMacro(
"Part \"" << arrName <<
"\" does not exist");
abstract superclass for arrays of numeric data
a simple class to control print indentation
Read LS-Dyna databases (d3plot)
int GetNumberOfParticleArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
int GetRigidBodyArrayStatus(int arr)
virtual int ReadSPHState(vtkIdType)
const char * GetDatabaseDirectory()
virtual int ReadInputDeck()
Called from within ReadHeaderInformation() to read part names associated with material IDs.
virtual int ReadCellStateInfo(vtkIdType)
const char * GetPointArrayName(int)
void Dump(ostream &os)
Print out more complete information about the dataset (and less complete information about the VTK hi...
int GetRoadSurfaceArrayStatus(int arr)
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)
virtual int ReadUserIds()
virtual void SetThickShellArrayStatus(int arr, int status)
vtkIdType GetNumberOfShellCells()
Retrieve the number of cells of a given type in the database.
int ReadInputDeckKeywords(istream &deck)
const char * GetParticleArrayName(int)
int GetNumberOfComponentsInCellArray(int cellType, int arr)
virtual void SetShellArrayStatus(int arr, int status)
int GetNumberOfComponentsInBeamArray(int a)
int ReadHeaderInformation(int currentAdaptLevel)
This function populates the reader's private dictionary with information about the database.
char * InputDeck
The name of a file containing part names and IDs.
virtual int CanReadFile(const char *fname)
Determine if the file can be read with this reader.
virtual void SetDatabaseDirectory(const char *)
virtual void SetSolidArrayStatus(int arr, int status)
virtual int ReadUserMaterialIds()
Called from within ReadHeaderInformation() to read arbitrary material IDs (if present) or manufacture...
int GetThickShellArrayStatus(int arr)
int GetNumberOfSolidArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
int GetBeamArrayStatus(int arr)
virtual int ReadNodeStateInfo(vtkIdType)
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)
int GetNumberOfPartArrays()
These methods allow you to load only selected parts of the input.
vtkIdType GetNumberOfRigidBodyCells()
Retrieve the number of cells of a given type in the database.
const char * GetFileName()
const char * GetPartArrayName(int)
int GetNumberOfComponentsInPointArray(int arr)
vtkTypeBool DeformedMesh
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
virtual void SetFileName(const char *)
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.
vtkIdType GetNumberOfThickShellCells()
Retrieve the number of cells of a given type in the database.
virtual void SetParticleArrayStatus(int arr, int status)
int GetNumberOfShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
int GetShellArrayStatus(int arr)
const char * GetRigidBodyArrayName(int)
~vtkLSDynaReader() override
const char * GetCellArrayName(int cellType, int arr)
virtual void SetPointArrayStatus(int arr, int status)
int GetNumberOfComponentsInRigidBodyArray(int a)
int GetNumberOfThickShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
double GetTimeValue(vtkIdType)
virtual void SetDatabaseDirectory(const std::string &)
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
const char * GetBeamArrayName(int)
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()
virtual void SetBeamArrayStatus(int arr, int status)
int ReadInputDeckXML(istream &deck)
ReadInputDeck determines the type of file (keyword or XML summary) and calls one of these two routine...
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.
virtual void SetFileName(const std::string &)
Get/Set the filename.
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)
vtkTypeBool DeletedCellsAsGhostArray
char * GetTitle()
The title of the database is a 40 or 80 character text description stored at the front of a d3plot fi...
virtual int ReadConnectivityAndMaterial()
virtual void ResetPartInfo()
Resets the Part information to the default state.
vtkIdType GetNumberOfNodes()
Retrieve the number of points in the database.
const char * GetSolidArrayName(int)
virtual void SetRoadSurfaceArrayStatus(int arr, int status)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual int ReadTopology()
These functions read various parts of the database.
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)
int GetNumberOfComponentsInThickShellArray(int a)
const char * GetThickShellArrayName(int)
virtual int ComputeDeflectionAndUpdateGeometry(vtkUnstructuredGrid *grid)
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...
const char * GetRoadSurfaceArrayName(int)
vtkIdType GetNumberOfTimeSteps()
Retrieve information about the time extents of the LS-Dyna database.
int GetCellArrayStatus(int cellType, int arr)
int GetPointArrayStatus(int arr)
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)
vtkTypeBool RemoveDeletedCells
Should cells marked as deleted be removed from the mesh? By default, this is true.
int GetSolidArrayStatus(int arr)
virtual void SetRigidBodyArrayStatus(int arr, int status)
vtkIdType GetNumberOfContinuumCells()
Retrieve the number of cells of a given type in the database.
const char * GetShellArrayName(int)
void SetDeformedMesh(vtkTypeBool)
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
virtual int ReadDeletion()
int GetPartArrayStatus(int arr)
static vtkLSDynaReader * New()
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
std::string GetFileName(const std::string &fileName) noexcept
Set the appropriate file name based on recognized user input.