1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#include <stdio.h>
#include <fstream>
#include <ctype.h>
#include <metaObject.h>
int main(int argc, char **argv)
{
MetaObject tObj;
tObj.InitializeEssential(3);
tObj.FileName("testObject.txt");
tObj.Comment("TestObject");
tObj.ObjectTypeName("Object");
tObj.ObjectSubTypeName("MinorObject");
tObj.Position(0, 1);
tObj.Position(1, 2);
tObj.Position(2, 3);
double orient[9];
int i;
for(i=0; i<9; i++)
{
orient[i] = 0;
}
orient[0] = 1;
orient[5] = 1;
orient[7] = 1;
tObj.Orientation(orient);
tObj.ElementSpacing(0, 1);
tObj.ElementSpacing(1, 2);
tObj.ElementSpacing(2, 1);
// Add user's defined fields
int myarray[3];
myarray[0]=1;
myarray[1]=2;
myarray[2]=3;
tObj.AddUserField("MyName", MET_STRING, strlen("Julien"), "Julien");
tObj.AddUserField("MyArray", MET_INT_ARRAY,3,myarray);
float myMatrix[4];
for(i=0; i<4; i++)
{
myMatrix[i] = i;
}
tObj.AddUserField("MyMatrix", MET_FLOAT_MATRIX,2,myMatrix);
tObj.PrintInfo();
tObj.Write();
tObj.Clear();
tObj.ClearUserFields();
tObj.AddUserField("MyName", MET_STRING);
tObj.AddUserField("MyArray", MET_INT_ARRAY,3);
tObj.AddUserField("MyMatrix", MET_FLOAT_MATRIX,2);
tObj.Read();
tObj.PrintInfo();
char* name = static_cast<char*>(tObj.GetUserField("MyName"));
if(strcmp(name,"Julien"))
{
METAIO_STREAM::cout << "MyName: FAIL" << METAIO_STREAM::endl;
return 0;
}
int* array = static_cast<int*>(tObj.GetUserField("MyArray"));
for(i=0;i<3;i++)
{
if(array[i] != i+1)
{
METAIO_STREAM::cout << "MyArray: FAIL" << METAIO_STREAM::endl;
return 0;
}
}
float* matrix = static_cast<float*>(tObj.GetUserField("MyMatrix"));
for(i=0; i<4; i++)
{
if(matrix[i] != i)
{
METAIO_STREAM::cout << "MyMatrix: FAIL" << METAIO_STREAM::endl;
}
}
METAIO_STREAM::cout << "PASSED!" << METAIO_STREAM::endl;
tObj.Clear();
tObj.ClearUserFields();
tObj.FileName("testObject2.txt");
tObj.InitializeEssential(2);
tObj.Position(0, 4);
tObj.ElementSpacing(0,2);
tObj.PrintInfo();
tObj.Write();
tObj.Clear();
tObj.Read();
tObj.PrintInfo();
if(tObj.NDims() != 2)
{
METAIO_STREAM::cout << "NDims: FAIL" << METAIO_STREAM::endl;
}
else
{
METAIO_STREAM::cout << "NDims: PASS" << METAIO_STREAM::endl;
}
int zero = 0;
if(tObj.Position(zero) != 4)
{
METAIO_STREAM::cout << "Position: FAIL :" << tObj.Position(zero) << METAIO_STREAM::endl;
}
else
{
METAIO_STREAM::cout << "Position: PASS" << METAIO_STREAM::endl;
}
if(tObj.ElementSpacing(zero) != 2)
{
METAIO_STREAM::cout << "ElementSpacing: FAIL: " << tObj.ElementSpacing(zero) << METAIO_STREAM::endl;
}
else
{
METAIO_STREAM::cout << "ElementSpacing: PASS" << METAIO_STREAM::endl;
}
return 1;
}
|