VTK
vtkLSDynaReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLSDynaReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
19 
153 #ifndef vtkLSDynaReader_h
154 #define vtkLSDynaReader_h
155 
156 #include "vtkIOLSDynaModule.h" // For export macro
158 
159 class LSDynaMetaData;
161 class vtkPoints;
162 class vtkDataArray;
164 class vtkUnstructuredGrid;
165 
167 {
168 public:
170  virtual void PrintSelf(ostream &os, vtkIndent indent);
171  static vtkLSDynaReader *New();
172 
175  void Dump( ostream &os );
176 
179  void DebugDump();
180 
182  virtual int CanReadFile( const char* fname );
183 
185 
187  virtual void SetDatabaseDirectory( const char* );
188  const char* GetDatabaseDirectory();
189  int IsDatabaseValid();
191 
193 
197  virtual void SetFileName( const char* );
198  const char* GetFileName();
200 
205  char* GetTitle();
206 
210  int GetDimensionality();
211 
215  vtkIdType GetNumberOfNodes();
216 
221  vtkIdType GetNumberOfCells();
222 
229  vtkIdType GetNumberOfContinuumCells();
230 
234  vtkIdType GetNumberOfSolidCells();
235 
239  vtkIdType GetNumberOfThickShellCells();
240 
244  vtkIdType GetNumberOfShellCells();
245 
249  vtkIdType GetNumberOfRigidBodyCells();
250 
254  vtkIdType GetNumberOfRoadSurfaceCells();
255 
259  vtkIdType GetNumberOfBeamCells();
260 
264  vtkIdType GetNumberOfParticleCells();
265 
267 
270  vtkIdType GetNumberOfTimeSteps();
271  virtual void SetTimeStep( vtkIdType );
272  vtkIdType GetTimeStep();
273  double GetTimeValue( vtkIdType );
274  vtkGetVector2Macro(TimeStepRange,int);
275  vtkSetVector2Macro(TimeStepRange,int);
277 
279 
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 );
290 
292 
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 );
305 
307 
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 );
316 
317  int GetNumberOfComponentsInSolidArray( int a );
318  int GetNumberOfComponentsInSolidArray( const char* arrName );
319 
321 
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 );
330 
331  int GetNumberOfComponentsInThickShellArray( int a );
332  int GetNumberOfComponentsInThickShellArray( const char* arrName );
333 
335 
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 );
344 
345  int GetNumberOfComponentsInShellArray( int a );
346  int GetNumberOfComponentsInShellArray( const char* arrName );
347 
349 
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 );
358 
359  int GetNumberOfComponentsInRigidBodyArray( int a );
360  int GetNumberOfComponentsInRigidBodyArray( const char* arrName );
361 
363 
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 );
372 
373  int GetNumberOfComponentsInRoadSurfaceArray( int a );
374  int GetNumberOfComponentsInRoadSurfaceArray( const char* arrName );
375 
377 
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 );
386 
387  int GetNumberOfComponentsInBeamArray( int a );
388  int GetNumberOfComponentsInBeamArray( const char* arrName );
389 
391 
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 );
400 
401  int GetNumberOfComponentsInParticleArray( int a );
402  int GetNumberOfComponentsInParticleArray( const char* arrName );
403 
405 
408  void SetDeformedMesh(int);
409  vtkGetMacro(DeformedMesh,int);
410  vtkBooleanMacro(DeformedMesh,int);
412 
414 
422  vtkSetMacro(RemoveDeletedCells,int);
423  vtkGetMacro(RemoveDeletedCells,int);
424  vtkBooleanMacro(RemoveDeletedCells,int);
426 
428 
430  vtkSetMacro(DeletedCellsAsGhostArray,int);
431  vtkGetMacro(DeletedCellsAsGhostArray,int);
432  vtkBooleanMacro(DeletedCellsAsGhostArray,int);
434 
436 
445  vtkSetStringMacro(InputDeck);
446  vtkGetStringMacro(InputDeck);
448 
450 
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 );
465 
466 protected:
467  //holds all the parts and all the properties for each part
469 
473 
475 
480 
483  int TimeStepRange[2];
484 
486  char* InputDeck;
487 
488  vtkLSDynaReader();
489  virtual ~vtkLSDynaReader();
490 
497  int ReadHeaderInformation( int currentAdaptLevel );
498 
506  int ScanDatabaseTimeSteps();
507 
510 
512 
518  virtual int ReadTopology();
519  virtual int ReadNodes();
520  virtual int ReadPartSizes();
521  virtual int ReadConnectivityAndMaterial();
522  virtual int ReadUserIds();
523  virtual int ReadState( vtkIdType );
524  virtual int ReadNodeStateInfo( vtkIdType );
525  virtual int ReadCellStateInfo( vtkIdType );
526  virtual int ReadDeletion();
527  virtual int ReadSPHState( vtkIdType );
529 
531  virtual void ResetPartInfo();
532 
535  virtual int ReadInputDeck();
536 
539  virtual int ReadPartTitlesFromRootFile();
540 
544  virtual int ReadUserMaterialIds();
545 
547 
549  int ReadInputDeckXML( ifstream& deck );
550  int ReadInputDeckKeywords( ifstream& deck );
552 
555  int WriteInputDeckSummary( const char* fname );
556 
564  virtual void ReadDeletionArray(vtkUnsignedCharArray* arr, const int& pos, const int& size);
565 
567  virtual void ReadCellProperties(const int& type,const int& numTuples);
568 
569  LSDynaMetaData* P;
570 
571  void ResetPartsCache();
572 private:
573 
574  //Helper templated methods to optimze reading. We cast the entire buffer
575  //to a given type instead of casting each element to improve performance
576  template<typename T>
577  void FillDeletionArray(T* buffer, vtkUnsignedCharArray* arr, const vtkIdType& start, const vtkIdType& numCells,
578  const int& deathPos, const int& cellSize);
579 
580  template<int wordSize, typename T>
581  int FillTopology(T* buffer);
582 
583  template<typename T, int blockType, vtkIdType numWordsPerCell, vtkIdType cellLength>
584  void ReadBlockCellSizes();
585 
586  template<typename T>
587  int FillPartSizes();
588 
589  vtkLSDynaReader( const vtkLSDynaReader& ); // Not implemented.
590  void operator = ( const vtkLSDynaReader& ); // Not implemented.
591 };
592 
593 inline void vtkLSDynaReader::SetPointArrayStatus( const char* arrName, int status )
594 {
595  for ( int a=0; a<this->GetNumberOfPointArrays(); ++a )
596  {
597  if ( strcmp( arrName, this->GetPointArrayName(a) ) == 0 )
598  {
599  this->SetPointArrayStatus( a, status );
600  return;
601  }
602  }
603  vtkWarningMacro( "Point array \"" << arrName << "\" does not exist" );
604 }
605 
606 inline int vtkLSDynaReader::GetPointArrayStatus( const char* arrName )
607 {
608  for ( int a=0; a<this->GetNumberOfPointArrays(); ++a )
609  {
610  if ( strcmp( arrName, this->GetPointArrayName(a) ) == 0 )
611  {
612  return this->GetPointArrayStatus( a );
613  }
614  }
615  //vtkWarningMacro( "Point array \"" << arrName << "\" does not exist" );
616  return 0;
617 }
618 
619 inline int vtkLSDynaReader::GetNumberOfComponentsInPointArray( const char* arrName )
620 {
621  for ( int a=0; a<this->GetNumberOfPointArrays(); ++a )
622  {
623  if ( strcmp( arrName, this->GetPointArrayName( a ) ) == 0 )
624  {
625  return this->GetNumberOfComponentsInPointArray( a );
626  }
627  }
628  //vtkWarningMacro( "Point array \"" << arrName << "\" does not exist" );
629  return 0;
630 }
631 
632 inline void vtkLSDynaReader::SetCellArrayStatus( int cellType, const char* arrName, int status )
633 {
634  for ( int a=0; a<this->GetNumberOfCellArrays( cellType ); ++a )
635  {
636  if ( strcmp( arrName, this->GetCellArrayName( cellType, a ) ) == 0 )
637  {
638  this->SetCellArrayStatus( cellType, a, status );
639  return;
640  }
641  }
642  vtkWarningMacro( "Cell array \"" << arrName << "\" (type " << cellType << ") does not exist" );
643 }
644 
645 inline int vtkLSDynaReader::GetCellArrayStatus( int cellType, const char* arrName )
646 {
647  for ( int a=0; a<this->GetNumberOfCellArrays( cellType ); ++a )
648  {
649  if ( strcmp( arrName, this->GetCellArrayName( cellType, a ) ) == 0 )
650  {
651  return this->GetCellArrayStatus( cellType, a );
652  }
653  }
654  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
655  return 0;
656 }
657 
658 inline int vtkLSDynaReader::GetNumberOfComponentsInCellArray( int cellType, const char* arrName )
659 {
660  for ( int a=0; a<this->GetNumberOfCellArrays( cellType ); ++a )
661  {
662  if ( strcmp( arrName, this->GetCellArrayName( cellType, a ) ) == 0 )
663  {
664  return this->GetNumberOfComponentsInCellArray( cellType, a );
665  }
666  }
667  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
668  return 0;
669 }
670 
671 inline void vtkLSDynaReader::SetSolidArrayStatus( const char* arrName, int status )
672 {
673  for ( int a=0; a<this->GetNumberOfSolidArrays(); ++a )
674  {
675  if ( strcmp( arrName, this->GetSolidArrayName(a) ) == 0 )
676  {
677  this->SetSolidArrayStatus( a, status );
678  return;
679  }
680  }
681  vtkWarningMacro( "Solid array \"" << arrName << "\" does not exist" );
682 }
683 
684 inline int vtkLSDynaReader::GetSolidArrayStatus( const char* arrName )
685 {
686  for ( int a=0; a<this->GetNumberOfSolidArrays(); ++a )
687  {
688  if ( strcmp( arrName, this->GetSolidArrayName(a) ) == 0 )
689  {
690  return this->GetSolidArrayStatus( a );
691  }
692  }
693  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
694  return 0;
695 }
696 
697 inline int vtkLSDynaReader::GetNumberOfComponentsInSolidArray( const char* arrName )
698 {
699  for ( int a=0; a<this->GetNumberOfSolidArrays(); ++a )
700  {
701  if ( strcmp( arrName, this->GetSolidArrayName(a) ) == 0 )
702  {
703  return this->GetNumberOfComponentsInSolidArray( a );
704  }
705  }
706  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
707  return 0;
708 }
709 
710 inline void vtkLSDynaReader::SetThickShellArrayStatus( const char* arrName, int status )
711 {
712  for ( int a=0; a<this->GetNumberOfThickShellArrays(); ++a )
713  {
714  if ( strcmp( arrName, this->GetThickShellArrayName(a) ) == 0 )
715  {
716  this->SetThickShellArrayStatus( a, status );
717  return;
718  }
719  }
720  vtkWarningMacro( "Thick shell array \"" << arrName << "\" does not exist" );
721 }
722 
723 inline int vtkLSDynaReader::GetThickShellArrayStatus( const char* arrName )
724 {
725  for ( int a=0; a<this->GetNumberOfThickShellArrays(); ++a )
726  {
727  if ( strcmp( arrName, this->GetThickShellArrayName(a) ) == 0 )
728  {
729  return this->GetThickShellArrayStatus( a );
730  }
731  }
732  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
733  return 0;
734 }
735 
737 {
738  for ( int a=0; a<this->GetNumberOfThickShellArrays(); ++a )
739  {
740  if ( strcmp( arrName, this->GetThickShellArrayName(a) ) == 0 )
741  {
742  return this->GetNumberOfComponentsInThickShellArray( a );
743  }
744  }
745  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
746  return 0;
747 }
748 
749 inline void vtkLSDynaReader::SetShellArrayStatus( const char* arrName, int status )
750 {
751  for ( int a=0; a<this->GetNumberOfShellArrays(); ++a )
752  {
753  if ( strcmp( arrName, this->GetShellArrayName(a) ) == 0 )
754  {
755  this->SetShellArrayStatus( a, status );
756  return;
757  }
758  }
759  vtkWarningMacro( "Shell array \"" << arrName << "\" does not exist" );
760 }
761 
762 inline int vtkLSDynaReader::GetShellArrayStatus( const char* arrName )
763 {
764  for ( int a=0; a<this->GetNumberOfShellArrays(); ++a )
765  {
766  if ( strcmp( arrName, this->GetShellArrayName(a) ) == 0 )
767  {
768  return this->GetShellArrayStatus( a );
769  }
770  }
771  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
772  return 0;
773 }
774 
775 inline int vtkLSDynaReader::GetNumberOfComponentsInShellArray( const char* arrName )
776 {
777  for ( int a=0; a<this->GetNumberOfShellArrays(); ++a )
778  {
779  if ( strcmp( arrName, this->GetShellArrayName(a) ) == 0 )
780  {
781  return this->GetNumberOfComponentsInShellArray( a );
782  }
783  }
784  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
785  return 0;
786 }
787 
788 inline void vtkLSDynaReader::SetBeamArrayStatus( const char* arrName, int status )
789 {
790  for ( int a=0; a<this->GetNumberOfBeamArrays(); ++a )
791  {
792  if ( strcmp( arrName, this->GetBeamArrayName(a) ) == 0 )
793  {
794  this->SetBeamArrayStatus( a, status );
795  return;
796  }
797  }
798  vtkWarningMacro( "Beam array \"" << arrName << "\" does not exist" );
799 }
800 
801 inline int vtkLSDynaReader::GetBeamArrayStatus( const char* arrName )
802 {
803  for ( int a=0; a<this->GetNumberOfBeamArrays(); ++a )
804  {
805  if ( strcmp( arrName, this->GetBeamArrayName(a) ) == 0 )
806  {
807  return this->GetBeamArrayStatus( a );
808  }
809  }
810  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
811  return 0;
812 }
813 
814 inline int vtkLSDynaReader::GetNumberOfComponentsInBeamArray( const char* arrName )
815 {
816  for ( int a=0; a<this->GetNumberOfBeamArrays(); ++a )
817  {
818  if ( strcmp( arrName, this->GetBeamArrayName(a) ) == 0 )
819  {
820  return this->GetNumberOfComponentsInBeamArray( a );
821  }
822  }
823  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
824  return 0;
825 }
826 
827 inline void vtkLSDynaReader::SetParticleArrayStatus( const char* arrName, int status )
828 {
829  for ( int a=0; a<this->GetNumberOfParticleArrays(); ++a )
830  {
831  if ( strcmp( arrName, this->GetParticleArrayName(a) ) == 0 )
832  {
833  this->SetParticleArrayStatus( a, status );
834  return;
835  }
836  }
837  vtkWarningMacro( "Particle array \"" << arrName << "\" does not exist" );
838 }
839 
840 inline int vtkLSDynaReader::GetParticleArrayStatus( const char* arrName )
841 {
842  for ( int a=0; a<this->GetNumberOfParticleArrays(); ++a )
843  {
844  if ( strcmp( arrName, this->GetParticleArrayName(a) ) == 0 )
845  {
846  return this->GetParticleArrayStatus( a );
847  }
848  }
849  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
850  return 0;
851 }
852 
854 {
855  for ( int a=0; a<this->GetNumberOfParticleArrays(); ++a )
856  {
857  if ( strcmp( arrName, this->GetParticleArrayName(a) ) == 0 )
858  {
859  return this->GetNumberOfComponentsInParticleArray( a );
860  }
861  }
862  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
863  return 0;
864 }
865 
866 inline void vtkLSDynaReader::SetRigidBodyArrayStatus( const char* arrName, int status )
867 {
868  for ( int a=0; a<this->GetNumberOfRigidBodyArrays(); ++a )
869  {
870  if ( strcmp( arrName, this->GetRigidBodyArrayName(a) ) == 0 )
871  {
872  this->SetRigidBodyArrayStatus( a, status );
873  return;
874  }
875  }
876  vtkWarningMacro( "Rigid body array \"" << arrName << "\" does not exist" );
877 }
878 
879 inline int vtkLSDynaReader::GetRigidBodyArrayStatus( const char* arrName )
880 {
881  for ( int a=0; a<this->GetNumberOfRigidBodyArrays(); ++a )
882  {
883  if ( strcmp( arrName, this->GetRigidBodyArrayName(a) ) == 0 )
884  {
885  return this->GetRigidBodyArrayStatus( a );
886  }
887  }
888  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
889  return 0;
890 }
891 
893 {
894  for ( int a=0; a<this->GetNumberOfRigidBodyArrays(); ++a )
895  {
896  if ( strcmp( arrName, this->GetRigidBodyArrayName(a) ) == 0 )
897  {
898  return this->GetNumberOfComponentsInRigidBodyArray( a );
899  }
900  }
901  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
902  return 0;
903 }
904 
905 inline void vtkLSDynaReader::SetRoadSurfaceArrayStatus( const char* arrName, int status )
906 {
907  for ( int a=0; a<this->GetNumberOfRoadSurfaceArrays(); ++a )
908  {
909  if ( strcmp( arrName, this->GetRoadSurfaceArrayName(a) ) == 0 )
910  {
911  this->SetRoadSurfaceArrayStatus( a, status );
912  return;
913  }
914  }
915  vtkWarningMacro( "Road surface array \"" << arrName << "\" does not exist" );
916 }
917 
918 inline int vtkLSDynaReader::GetRoadSurfaceArrayStatus( const char* arrName )
919 {
920  for ( int a=0; a<this->GetNumberOfRoadSurfaceArrays(); ++a )
921  {
922  if ( strcmp( arrName, this->GetRoadSurfaceArrayName(a) ) == 0 )
923  {
924  return this->GetRoadSurfaceArrayStatus( a );
925  }
926  }
927  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
928  return 0;
929 }
930 
932 {
933  for ( int a=0; a<this->GetNumberOfRoadSurfaceArrays(); ++a )
934  {
935  if ( strcmp( arrName, this->GetRoadSurfaceArrayName(a) ) == 0 )
936  {
937  return this->GetNumberOfComponentsInRoadSurfaceArray( a );
938  }
939  }
940  //vtkWarningMacro( "Cell array \"" << arrName << "\" does not exist" );
941  return 0;
942 }
943 
944 inline void vtkLSDynaReader::SetPartArrayStatus( const char* arrName, int status )
945 {
946  for ( int a=0; a<this->GetNumberOfPartArrays(); ++a )
947  {
948  if ( strcmp( arrName, this->GetPartArrayName(a) ) == 0 )
949  {
950  this->SetPartArrayStatus( a, status );
951  return;
952  }
953  }
954  vtkWarningMacro( "Part \"" << arrName << "\" does not exist" );
955 }
956 
957 inline int vtkLSDynaReader::GetPartArrayStatus( const char* partName )
958 {
959  for ( int a=0; a<this->GetNumberOfPartArrays(); ++a )
960  {
961  if ( strcmp( partName, this->GetPartArrayName(a) ) == 0 )
962  {
963  return this->GetPartArrayStatus( a );
964  }
965  }
966  //vtkWarningMacro( "PartArray \"" << partName << "\" does not exist" );
967  return 0;
968 }
969 
970 #endif // vtkLSDynaReader_h
virtual void SetThickShellArrayStatus(int arr, int status)
int GetShellArrayStatus(int arr)
vtkLSDynaPartCollection * Parts
const char * GetPartArrayName(int)
int GetNumberOfCellArrays(int cellType)
int GetNumberOfPointArrays()
int GetThickShellArrayStatus(int arr)
const char * GetPointArrayName(int)
Store vtkAlgorithm input/output information.
int GetNumberOfComponentsInBeamArray(int a)
int GetNumberOfBeamArrays()
int GetNumberOfSolidArrays()
int GetRoadSurfaceArrayStatus(int arr)
Read LS-Dyna databases (d3plot)
const char * GetParticleArrayName(int)
const char * GetThickShellArrayName(int)
int GetNumberOfComponentsInCellArray(int cellType, int arr)
virtual void SetRigidBodyArrayStatus(int arr, int status)
int GetNumberOfComponentsInSolidArray(int a)
int GetNumberOfThickShellArrays()
const char * GetSolidArrayName(int)
int vtkIdType
Definition: vtkType.h:275
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual void SetSolidArrayStatus(int arr, int status)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void SetRoadSurfaceArrayStatus(int arr, int status)
static vtkMultiBlockDataSetAlgorithm * New()
int GetPointArrayStatus(int arr)
int GetRigidBodyArrayStatus(int arr)
int GetNumberOfParticleArrays()
virtual void SetShellArrayStatus(int arr, int status)
int GetCellArrayStatus(int cellType, int arr)
int GetNumberOfPartArrays()
int GetNumberOfRoadSurfaceArrays()
const char * GetRigidBodyArrayName(int)
a simple class to control print indentation
Definition: vtkIndent.h:38
int GetNumberOfRigidBodyArrays()
int GetSolidArrayStatus(int arr)
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
int GetNumberOfShellArrays()
dynamic, self-adjusting array of unsigned char
CellTypeInDataSet cellType(vtkDataSet *input)
int GetNumberOfComponentsInShellArray(int a)
#define VTKIOLSDYNA_EXPORT
int GetNumberOfComponentsInRigidBodyArray(int a)
const char * GetCellArrayName(int cellType, int arr)
int GetPartArrayStatus(int arr)
int GetParticleArrayStatus(int arr)
int GetNumberOfComponentsInThickShellArray(int a)
int GetBeamArrayStatus(int arr)
void PrintSelf(ostream &os, vtkIndent indent)
virtual void SetBeamArrayStatus(int arr, int status)
Store zero or more vtkInformation instances.
virtual void SetCellArrayStatus(int cellType, int arr, int status)
const char * GetShellArrayName(int)
virtual void SetParticleArrayStatus(int arr, int status)
virtual void SetPartArrayStatus(int arr, int status)
virtual void SetPointArrayStatus(int arr, int status)
int GetNumberOfComponentsInRoadSurfaceArray(int a)
const char * GetBeamArrayName(int)
int GetNumberOfComponentsInParticleArray(int a)
represent and manipulate 3D points
Definition: vtkPoints.h:38
const char * GetRoadSurfaceArrayName(int)
int GetNumberOfComponentsInPointArray(int arr)
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
LSDynaMetaData * P