140 #ifndef vtkLSDynaReader_h
141 #define vtkLSDynaReader_h
143 #include "vtkIOLSDynaModule.h"
147 VTK_ABI_NAMESPACE_BEGIN
166 void Dump(ostream& os);
177 virtual int CanReadFile(
VTK_FILEPATH const char* fname);
185 virtual void SetDatabaseDirectory(
VTK_FILEPATH const char*);
187 int IsDatabaseValid();
214 int GetDimensionality();
304 vtkGetVector2Macro(TimeStepRange,
int);
305 vtkSetVector2Macro(TimeStepRange,
int);
313 int GetNumberOfPointArrays();
314 const char* GetPointArrayName(
int);
315 virtual void SetPointArrayStatus(
int arr,
int status);
316 virtual void SetPointArrayStatus(
const char* arrName,
int status);
317 int GetPointArrayStatus(
int arr);
318 int GetPointArrayStatus(
const char* arrName);
319 int GetNumberOfComponentsInPointArray(
int arr);
320 int GetNumberOfComponentsInPointArray(
const char* arrName);
330 int GetNumberOfCellArrays(
int cellType);
331 const char* GetCellArrayName(
int cellType,
int arr);
332 virtual void SetCellArrayStatus(
int cellType,
int arr,
int status);
333 virtual void SetCellArrayStatus(
int cellType,
const char* arrName,
int status);
334 int GetCellArrayStatus(
int cellType,
int arr);
335 int GetCellArrayStatus(
int cellType,
const char* arrName);
336 int GetNumberOfComponentsInCellArray(
int cellType,
int arr);
337 int GetNumberOfComponentsInCellArray(
int cellType,
const char* arrName);
345 int GetNumberOfSolidArrays();
346 const char* GetSolidArrayName(
int);
347 virtual void SetSolidArrayStatus(
int arr,
int status);
348 virtual void SetSolidArrayStatus(
const char* arrName,
int status);
349 int GetSolidArrayStatus(
int arr);
350 int GetSolidArrayStatus(
const char* arrName);
353 int GetNumberOfComponentsInSolidArray(
int a);
354 int GetNumberOfComponentsInSolidArray(
const char* arrName);
361 int GetNumberOfThickShellArrays();
362 const char* GetThickShellArrayName(
int);
363 virtual void SetThickShellArrayStatus(
int arr,
int status);
364 virtual void SetThickShellArrayStatus(
const char* arrName,
int status);
365 int GetThickShellArrayStatus(
int arr);
366 int GetThickShellArrayStatus(
const char* arrName);
369 int GetNumberOfComponentsInThickShellArray(
int a);
370 int GetNumberOfComponentsInThickShellArray(
const char* arrName);
377 int GetNumberOfShellArrays();
378 const char* GetShellArrayName(
int);
379 virtual void SetShellArrayStatus(
int arr,
int status);
380 virtual void SetShellArrayStatus(
const char* arrName,
int status);
381 int GetShellArrayStatus(
int arr);
382 int GetShellArrayStatus(
const char* arrName);
385 int GetNumberOfComponentsInShellArray(
int a);
386 int GetNumberOfComponentsInShellArray(
const char* arrName);
393 int GetNumberOfRigidBodyArrays();
394 const char* GetRigidBodyArrayName(
int);
395 virtual void SetRigidBodyArrayStatus(
int arr,
int status);
396 virtual void SetRigidBodyArrayStatus(
const char* arrName,
int status);
397 int GetRigidBodyArrayStatus(
int arr);
398 int GetRigidBodyArrayStatus(
const char* arrName);
401 int GetNumberOfComponentsInRigidBodyArray(
int a);
402 int GetNumberOfComponentsInRigidBodyArray(
const char* arrName);
409 int GetNumberOfRoadSurfaceArrays();
410 const char* GetRoadSurfaceArrayName(
int);
411 virtual void SetRoadSurfaceArrayStatus(
int arr,
int status);
412 virtual void SetRoadSurfaceArrayStatus(
const char* arrName,
int status);
413 int GetRoadSurfaceArrayStatus(
int arr);
414 int GetRoadSurfaceArrayStatus(
const char* arrName);
417 int GetNumberOfComponentsInRoadSurfaceArray(
int a);
418 int GetNumberOfComponentsInRoadSurfaceArray(
const char* arrName);
425 int GetNumberOfBeamArrays();
426 const char* GetBeamArrayName(
int);
427 virtual void SetBeamArrayStatus(
int arr,
int status);
428 virtual void SetBeamArrayStatus(
const char* arrName,
int status);
429 int GetBeamArrayStatus(
int arr);
430 int GetBeamArrayStatus(
const char* arrName);
433 int GetNumberOfComponentsInBeamArray(
int a);
434 int GetNumberOfComponentsInBeamArray(
const char* arrName);
441 int GetNumberOfParticleArrays();
442 const char* GetParticleArrayName(
int);
443 virtual void SetParticleArrayStatus(
int arr,
int status);
444 virtual void SetParticleArrayStatus(
const char* arrName,
int status);
445 int GetParticleArrayStatus(
int arr);
446 int GetParticleArrayStatus(
const char* arrName);
449 int GetNumberOfComponentsInParticleArray(
int a);
450 int GetNumberOfComponentsInParticleArray(
const char* arrName);
484 vtkSetMacro(DeletedCellsAsGhostArray,
vtkTypeBool);
485 vtkGetMacro(DeletedCellsAsGhostArray,
vtkTypeBool);
486 vtkBooleanMacro(DeletedCellsAsGhostArray,
vtkTypeBool);
501 vtkSetStringMacro(InputDeck);
502 vtkGetStringMacro(InputDeck);
516 int GetNumberOfPartArrays();
517 const char* GetPartArrayName(
int);
518 virtual void SetPartArrayStatus(
int arr,
int status);
519 virtual void SetPartArrayStatus(
const char* partName,
int status);
520 int GetPartArrayStatus(
int arr);
521 int GetPartArrayStatus(
const char* partName);
547 int TimeStepRange[2];
565 int ReadHeaderInformation(
int currentAdaptLevel);
576 int ScanDatabaseTimeSteps();
591 virtual int ReadTopology();
592 virtual int ReadNodes();
593 virtual int ReadPartSizes();
594 virtual int ReadConnectivityAndMaterial();
595 virtual int ReadUserIds();
597 virtual int ReadNodeStateInfo(
vtkIdType);
598 virtual int ReadCellStateInfo(
vtkIdType);
599 virtual int ReadDeletion();
607 virtual void ResetPartInfo();
613 virtual int ReadInputDeck();
620 virtual int ReadPartTitlesFromRootFile();
627 virtual int ReadUserMaterialIds();
634 int ReadInputDeckXML(istream& deck);
635 int ReadInputDeckKeywords(istream& deck);
642 int WriteInputDeckSummary(
const char* fname);
660 virtual void ReadCellProperties(
const int&
type,
const int& numTuples);
664 void ResetPartsCache();
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");
1063 VTK_ABI_NAMESPACE_END
1064 #endif // vtkLSDynaReader_h
virtual void SetThickShellArrayStatus(int arr, int status)
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...
vtkLSDynaPartCollection * Parts
const char * GetPartArrayName(int)
These methods allow you to load only selected parts of the input.
int GetNumberOfCellArrays(int cellType)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
int GetNumberOfPointArrays()
These methods allow you to load only selected subsets of the nodal variables defined over the mesh...
std::string GetFileName(const std::string &fileName) noexcept
Set the appropriate file name based on recognized user input.
int GetThickShellArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
const char * GetPointArrayName(int)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh...
int GetNumberOfComponentsInBeamArray(int a)
int GetNumberOfBeamArrays()
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...
int GetRoadSurfaceArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
Read LS-Dyna databases (d3plot)
vtkTypeBool DeformedMesh
Should deflected coordinates be used, or should the mesh remain undeflected? By default, this is true.
const char * GetParticleArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
const char * GetThickShellArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
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 SetRigidBodyArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
int GetNumberOfComponentsInSolidArray(int a)
int GetNumberOfThickShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
const char * GetSolidArrayName(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.
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 RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkTypeBool DeletedCellsAsGhostArray
Should cells marked as deleted be removed from the mesh? By default, this is true.
virtual void SetRoadSurfaceArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
static vtkMultiBlockDataSetAlgorithm * New()
int GetPointArrayStatus(int arr)
These methods allow you to load only selected subsets of the nodal 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...
int GetNumberOfParticleArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
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 GetCellArrayStatus(int cellType, int arr)
Routines that allow the status of a cell variable to be adjusted or queried independent of the output...
int GetNumberOfPartArrays()
These methods allow you to load only selected parts of the input.
int GetNumberOfRoadSurfaceArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
const char * GetRigidBodyArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
a simple class to control print indentation
int GetNumberOfRigidBodyArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
int GetSolidArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
int GetNumberOfShellArrays()
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool RemoveDeletedCells
Should cells marked as deleted be removed from the mesh? By default, this is true.
dynamic, self-adjusting array of unsigned char
int GetNumberOfComponentsInShellArray(int a)
int GetNumberOfComponentsInRigidBodyArray(int a)
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...
int GetPartArrayStatus(int arr)
These methods allow you to load only selected parts of the input.
int GetParticleArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
int GetNumberOfComponentsInThickShellArray(int a)
int GetBeamArrayStatus(int arr)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
virtual void SetBeamArrayStatus(int arr, int status)
These methods allow you to load only selected subsets of the cell 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...
const char * GetShellArrayName(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 void SetParticleArrayStatus(int arr, int status)
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.
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 GetNumberOfComponentsInRoadSurfaceArray(int a)
const char * GetBeamArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
int GetNumberOfComponentsInParticleArray(int a)
represent and manipulate 3D points
const char * GetRoadSurfaceArrayName(int)
These methods allow you to load only selected subsets of the cell variables defined over the mesh...
int GetNumberOfComponentsInPointArray(int arr)
These methods allow you to load only selected subsets of the nodal variables defined over the mesh...
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.