154#ifndef vtkLSDynaReader_h
155#define vtkLSDynaReader_h
157#include "vtkIOLSDynaModule.h"
313 vtkGetVector2Macro(TimeStepRange,
int);
314 vtkSetVector2Macro(TimeStepRange,
int);
325 virtual void SetPointArrayStatus(
const char* arrName,
int status );
327 int GetPointArrayStatus(
const char* arrName );
329 int GetNumberOfComponentsInPointArray(
const char* arrName );
342 virtual void SetCellArrayStatus(
int cellType,
const char* arrName,
int status );
344 int GetCellArrayStatus(
int cellType,
const char* arrName );
346 int GetNumberOfComponentsInCellArray(
int cellType,
const char* arrName );
357 virtual void SetSolidArrayStatus(
const char* arrName,
int status );
359 int GetSolidArrayStatus(
const char* arrName );
363 int GetNumberOfComponentsInSolidArray(
const char* arrName );
373 virtual void SetThickShellArrayStatus(
const char* arrName,
int status );
375 int GetThickShellArrayStatus(
const char* arrName );
379 int GetNumberOfComponentsInThickShellArray(
const char* arrName );
389 virtual void SetShellArrayStatus(
const char* arrName,
int status );
391 int GetShellArrayStatus(
const char* arrName );
395 int GetNumberOfComponentsInShellArray(
const char* arrName );
405 virtual void SetRigidBodyArrayStatus(
const char* arrName,
int status );
407 int GetRigidBodyArrayStatus(
const char* arrName );
411 int GetNumberOfComponentsInRigidBodyArray(
const char* arrName );
421 virtual void SetRoadSurfaceArrayStatus(
const char* arrName,
int status );
423 int GetRoadSurfaceArrayStatus(
const char* arrName );
427 int GetNumberOfComponentsInRoadSurfaceArray(
const char* arrName );
437 virtual void SetBeamArrayStatus(
const char* arrName,
int status );
439 int GetBeamArrayStatus(
const char* arrName );
443 int GetNumberOfComponentsInBeamArray(
const char* arrName );
453 virtual void SetParticleArrayStatus(
const char* arrName,
int status );
455 int GetParticleArrayStatus(
const char* arrName );
459 int GetNumberOfComponentsInParticleArray(
const char* arrName );
468 vtkGetMacro(DeformedMesh,
int);
484 vtkGetMacro(RemoveDeletedCells,
int);
494 vtkGetMacro(DeletedCellsAsGhostArray,
int);
510 vtkSetStringMacro(InputDeck);
528 virtual void SetPartArrayStatus(
const char* partName,
int status );
530 int GetPartArrayStatus(
const char* partName );
556 int TimeStepRange[2];
679 const int& deathPos,
const int& cellSize);
681 template<
int wordSize,
typename T>
682 int FillTopology(T* buffer);
684 template<
typename T,
int blockType, vtkIdType numWordsPerCell, vtkIdType cellLength>
685 void ReadBlockCellSizes();
704 vtkWarningMacro(
"Point array \"" << arrName <<
"\" does not exist" );
743 vtkWarningMacro(
"Cell array \"" << arrName <<
"\" (type " <<
cellType <<
") does not exist" );
782 vtkWarningMacro(
"Solid array \"" << arrName <<
"\" does not exist" );
821 vtkWarningMacro(
"Thick shell array \"" << arrName <<
"\" does not exist" );
860 vtkWarningMacro(
"Shell array \"" << arrName <<
"\" does not exist" );
899 vtkWarningMacro(
"Beam array \"" << arrName <<
"\" does not exist" );
938 vtkWarningMacro(
"Particle array \"" << arrName <<
"\" does not exist" );
977 vtkWarningMacro(
"Rigid body array \"" << arrName <<
"\" does not exist" );
1016 vtkWarningMacro(
"Road surface array \"" << arrName <<
"\" does not exist" );
1055 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)
const char * GetRigidBodyArrayName(int)
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 * GetCellArrayName(int cellType, int arr)
virtual int ReadInputDeck()
Called from within ReadHeaderInformation() to read part names associated with material IDs.
virtual int ReadCellStateInfo(vtkIdType)
const char * GetSolidArrayName(int)
void Dump(ostream &os)
Print out more complete information about the dataset (and less complete information about the VTK hi...
int ReadInputDeckXML(ifstream &deck)
ReadInputDeck determines the type of file (keyword or XML summary) and calls one of these two routine...
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.
void SetDeformedMesh(int)
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
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 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.
const char * GetDatabaseDirectory()
const char * GetRoadSurfaceArrayName(int)
char * InputDeck
The name of a file containing part names and IDs.
virtual int CanReadFile(const char *fname)
Determine if the file can be readed with this reader.
virtual void SetDatabaseDirectory(const char *)
Get/Set the directory containing the LS-Dyna database and determine whether it is valid.
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.
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)
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.
const char * GetThickShellArrayName(int)
const char * GetParticleArrayName(int)
vtkIdType GetNumberOfRigidBodyCells()
Retrieve the number of cells of a given type in the database.
int RemoveDeletedCells
Should cells marked as deleted be removed from the mesh? By default, this is true.
int GetNumberOfComponentsInPointArray(int arr)
const char * GetPointArrayName(int)
virtual void SetFileName(const char *)
Get/Set the filename.
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)
int ReadInputDeckKeywords(ifstream &deck)
vtkIdType GetNumberOfThickShellCells()
Retrieve the number of cells of a given type in the database.
virtual void SetParticleArrayStatus(int arr, int status)
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)
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetPointArrayStatus(int arr, int status)
int GetNumberOfComponentsInRigidBodyArray(int a)
const char * GetPartArrayName(int)
int GetNumberOfThickShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh.
double GetTimeValue(vtkIdType)
int GetNumberOfCellArrays(int cellType)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
const char * GetFileName()
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)
vtkIdType GetNumberOfParticleCells()
Retrieve the number of cells of a given type in the database.
virtual ~vtkLSDynaReader()
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)
int DeformedMesh
Should deflected coordinates be used, or should the mesh remain undeflected? By default,...
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int ReadConnectivityAndMaterial()
virtual void ResetPartInfo()
Resets the Part information to the default state.
vtkIdType GetNumberOfNodes()
Retrieve the number of points in the database.
virtual void SetRoadSurfaceArrayStatus(int arr, int status)
virtual int ReadTopology()
These functions read various parts of the database.
int GetNumberOfComponentsInRoadSurfaceArray(int a)
int GetNumberOfComponentsInSolidArray(int a)
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)
vtkIdType GetNumberOfSolidCells()
Retrieve the number of cells of a given type in the database.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
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)
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)
int GetSolidArrayStatus(int arr)
int DeletedCellsAsGhostArray
virtual void SetRigidBodyArrayStatus(int arr, int status)
vtkIdType GetNumberOfContinuumCells()
Retrieve the number of cells of a given type in the database.
virtual int ReadDeletion()
int GetPartArrayStatus(int arr)
const char * GetBeamArrayName(int)
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
CellTypeInDataSet cellType(vtkDataSet *input)
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.