153 #ifndef __vtkLSDynaReader_h
154 #define __vtkLSDynaReader_h
156 #include "vtkIOLSDynaModule.h"
159 class LSDynaMetaData;
175 void Dump( ostream &os );
182 virtual int CanReadFile(
const char* fname );
187 virtual void SetDatabaseDirectory(
const char* );
188 const char* GetDatabaseDirectory();
189 int IsDatabaseValid();
197 virtual void SetFileName(
const char* );
198 const char* GetFileName();
210 int GetDimensionality();
274 vtkGetVector2Macro(TimeStepRange,
int);
275 vtkSetVector2Macro(TimeStepRange,
int);
281 int GetNumberOfPointArrays();
282 const char* GetPointArrayName(
int);
283 virtual void SetPointArrayStatus(
int arr,
int status );
284 virtual void SetPointArrayStatus(
const char* arrName,
int status );
285 int GetPointArrayStatus(
int arr );
286 int GetPointArrayStatus(
const char* arrName );
287 int GetNumberOfComponentsInPointArray(
int arr );
288 int GetNumberOfComponentsInPointArray(
const char* arrName );
296 int GetNumberOfCellArrays(
int cellType );
297 const char* GetCellArrayName(
int cellType,
int arr );
298 virtual void SetCellArrayStatus(
int cellType,
int arr,
int status );
299 virtual void SetCellArrayStatus(
int cellType,
const char* arrName,
int status );
300 int GetCellArrayStatus(
int cellType,
int arr );
301 int GetCellArrayStatus(
int cellType,
const char* arrName );
302 int GetNumberOfComponentsInCellArray(
int cellType,
int arr );
303 int GetNumberOfComponentsInCellArray(
int cellType,
const char* arrName );
309 int GetNumberOfSolidArrays();
310 const char* GetSolidArrayName(
int);
311 virtual void SetSolidArrayStatus(
int arr,
int status );
312 virtual void SetSolidArrayStatus(
const char* arrName,
int status );
313 int GetSolidArrayStatus(
int arr );
314 int GetSolidArrayStatus(
const char* arrName );
317 int GetNumberOfComponentsInSolidArray(
int a );
318 int GetNumberOfComponentsInSolidArray(
const char* arrName );
323 int GetNumberOfThickShellArrays();
324 const char* GetThickShellArrayName(
int);
325 virtual void SetThickShellArrayStatus(
int arr,
int status );
326 virtual void SetThickShellArrayStatus(
const char* arrName,
int status );
327 int GetThickShellArrayStatus(
int arr );
328 int GetThickShellArrayStatus(
const char* arrName );
331 int GetNumberOfComponentsInThickShellArray(
int a );
332 int GetNumberOfComponentsInThickShellArray(
const char* arrName );
337 int GetNumberOfShellArrays();
338 const char* GetShellArrayName(
int);
339 virtual void SetShellArrayStatus(
int arr,
int status );
340 virtual void SetShellArrayStatus(
const char* arrName,
int status );
341 int GetShellArrayStatus(
int arr );
342 int GetShellArrayStatus(
const char* arrName );
345 int GetNumberOfComponentsInShellArray(
int a );
346 int GetNumberOfComponentsInShellArray(
const char* arrName );
351 int GetNumberOfRigidBodyArrays();
352 const char* GetRigidBodyArrayName(
int);
353 virtual void SetRigidBodyArrayStatus(
int arr,
int status );
354 virtual void SetRigidBodyArrayStatus(
const char* arrName,
int status );
355 int GetRigidBodyArrayStatus(
int arr );
356 int GetRigidBodyArrayStatus(
const char* arrName );
359 int GetNumberOfComponentsInRigidBodyArray(
int a );
360 int GetNumberOfComponentsInRigidBodyArray(
const char* arrName );
365 int GetNumberOfRoadSurfaceArrays();
366 const char* GetRoadSurfaceArrayName(
int);
367 virtual void SetRoadSurfaceArrayStatus(
int arr,
int status );
368 virtual void SetRoadSurfaceArrayStatus(
const char* arrName,
int status );
369 int GetRoadSurfaceArrayStatus(
int arr );
370 int GetRoadSurfaceArrayStatus(
const char* arrName );
373 int GetNumberOfComponentsInRoadSurfaceArray(
int a );
374 int GetNumberOfComponentsInRoadSurfaceArray(
const char* arrName );
379 int GetNumberOfBeamArrays();
380 const char* GetBeamArrayName(
int);
381 virtual void SetBeamArrayStatus(
int arr,
int status );
382 virtual void SetBeamArrayStatus(
const char* arrName,
int status );
383 int GetBeamArrayStatus(
int arr );
384 int GetBeamArrayStatus(
const char* arrName );
387 int GetNumberOfComponentsInBeamArray(
int a );
388 int GetNumberOfComponentsInBeamArray(
const char* arrName );
393 int GetNumberOfParticleArrays();
394 const char* GetParticleArrayName(
int);
395 virtual void SetParticleArrayStatus(
int arr,
int status );
396 virtual void SetParticleArrayStatus(
const char* arrName,
int status );
397 int GetParticleArrayStatus(
int arr );
398 int GetParticleArrayStatus(
const char* arrName );
401 int GetNumberOfComponentsInParticleArray(
int a );
402 int GetNumberOfComponentsInParticleArray(
const char* arrName );
408 void SetDeformedMesh(
int);
409 vtkGetMacro(DeformedMesh,
int);
410 vtkBooleanMacro(DeformedMesh,
int);
422 vtkSetMacro(RemoveDeletedCells,
int);
423 vtkGetMacro(RemoveDeletedCells,
int);
424 vtkBooleanMacro(RemoveDeletedCells,
int);
430 vtkSetMacro(DeletedCellsAsGhostArray,
int);
431 vtkGetMacro(DeletedCellsAsGhostArray,
int);
432 vtkBooleanMacro(DeletedCellsAsGhostArray,
int);
445 vtkSetStringMacro(InputDeck);
458 int GetNumberOfPartArrays();
459 const char* GetPartArrayName(
int);
460 virtual void SetPartArrayStatus(
int arr,
int status );
461 virtual void SetPartArrayStatus(
const char* partName,
int status );
462 int GetPartArrayStatus(
int arr );
463 int GetPartArrayStatus(
const char* partName );
483 int TimeStepRange[2];
497 int ReadHeaderInformation(
int currentAdaptLevel );
506 int ScanDatabaseTimeSteps();
518 virtual int ReadTopology();
519 virtual int ReadNodes();
520 virtual int ReadPartSizes();
521 virtual int ReadConnectivityAndMaterial();
522 virtual int ReadUserIds();
524 virtual int ReadNodeStateInfo(
vtkIdType );
525 virtual int ReadCellStateInfo(
vtkIdType );
526 virtual int ReadDeletion();
531 virtual void ResetPartInfo();
535 virtual int ReadInputDeck();
539 virtual int ReadPartTitlesFromRootFile();
544 virtual int ReadUserMaterialIds();
549 int ReadInputDeckXML( ifstream& deck );
550 int ReadInputDeckKeywords( ifstream& deck );
555 int WriteInputDeckSummary(
const char* fname );
567 virtual void ReadCellProperties(
const int&
type,
const int& numTuples);
571 void ResetPartsCache();
578 const int& deathPos,
const int& cellSize);
580 template<
int wordSize,
typename T>
581 int FillTopology(T* buffer);
583 template<
typename T,
int blockType, vtkIdType numWordsPerCell, vtkIdType cellLength>
584 void ReadBlockCellSizes();
603 vtkWarningMacro(
"Point array \"" << arrName <<
"\" does not exist" );
642 vtkWarningMacro(
"Cell array \"" << arrName <<
"\" (type " << cellType <<
") does not exist" );
681 vtkWarningMacro(
"Solid array \"" << arrName <<
"\" does not exist" );
720 vtkWarningMacro(
"Thick shell array \"" << arrName <<
"\" does not exist" );
759 vtkWarningMacro(
"Shell array \"" << arrName <<
"\" does not exist" );
798 vtkWarningMacro(
"Beam array \"" << arrName <<
"\" does not exist" );
837 vtkWarningMacro(
"Particle array \"" << arrName <<
"\" does not exist" );
876 vtkWarningMacro(
"Rigid body array \"" << arrName <<
"\" does not exist" );
915 vtkWarningMacro(
"Road surface array \"" << arrName <<
"\" does not exist" );
954 vtkWarningMacro(
"Part \"" << arrName <<
"\" does not exist" );
970 #endif // __vtkLSDynaReader_h