vtkMimxAbaqusFileWriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __vtkMimxAbaqusFileWriter_h
00026 #define __vtkMimxAbaqusFileWriter_h
00027
00028 #include "vtkDataSet.h"
00029 #include "vtkDataSetWriter.h"
00030 #include "vtkPolyData.h"
00031 #include "vtkStructuredGrid.h"
00032 #include "vtkUnstructuredGrid.h"
00033 #include "vtkFloatArray.h"
00034 #include "vtkMimxIOWin32Header.h"
00035
00036 class VTK_MIMXIO_EXPORT vtkMimxAbaqusFileWriter : public vtkDataSetWriter
00037 {
00038 public:
00039
00040 static vtkMimxAbaqusFileWriter *New();
00041 vtkTypeRevisionMacro(vtkMimxAbaqusFileWriter,vtkDataSetWriter);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00044 void SetFileName( const std::string & fieldStr)
00045 { this->vtkDataSetWriter::SetFileName( fieldStr.c_str() ); }
00046
00047 using vtkDataWriter::SetFileName;
00048
00049 void SetNodeElementFileName( const std::string & fieldStr ) {NodeElementFileName = fieldStr;}
00050 void SetHeaderInformation( const std::string & fieldStr ) {HeaderInformation = fieldStr;}
00051 void SetUserName( const std::string & fieldStr) {UserName = fieldStr;}
00052
00053
00054 vtkGetMacro (Precision, int);
00055 vtkSetMacro (Precision, int);
00056
00057 protected:
00058
00059 vtkMimxAbaqusFileWriter();
00060 ~vtkMimxAbaqusFileWriter();
00061
00062 void WriteHeader( ostream& os );
00063 void WriteHeadingSection( ostream& os );
00064 void WriteNodeElementHeader( ostream& os );
00065 void WriteNodes( ostream& os, vtkUnstructuredGrid *grid );
00066 void WriteNodeSets(ostream& os, vtkUnstructuredGrid *grid );
00067 void WriteHexElements( ostream& os, vtkUnstructuredGrid *grid );
00068 void WriteTetElements( ostream& os, vtkUnstructuredGrid *grid );
00069 void WriteQuadElements( ostream& os, vtkUnstructuredGrid *grid );
00070 void WriteElementSets( ostream& os, vtkUnstructuredGrid *grid );
00071 void WriteMaterialHeader( ostream& os );
00072 void WriteMaterialProperties( ostream& os, ostream& osi, vtkUnstructuredGrid *grid);
00073 void WriteBoundaryConditions( ostream& os, vtkUnstructuredGrid *grid );
00074 void WriteFooter( ostream& os );
00075 void WriteRepeatingMaterialProperties(vtkIntArray *ElementIds, vtkDoubleArray *MatProp,
00076 vtkUnstructuredGrid *grid, ostream& os, const char* ElementSetName, double PoissonsRatio) ;
00077 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00078 void ConcatenateStrings(const char*, const char*,
00079 const char*, const char*, const char*, char*);
00080 void PrintVariablesOfInterest(vtkStdString &variable, ostream &os);
00081 private:
00082
00083 vtkMimxAbaqusFileWriter(const vtkMimxAbaqusFileWriter&);
00084 void operator=(const vtkMimxAbaqusFileWriter&);
00085
00086
00087 std::string NodeElementFileName;
00088 std::string UserName;
00089
00090
00091 std::string HeaderInformation;
00092
00093 int Precision;
00094 };
00095
00096 #endif