📄 aptest.c
字号:
/* ======================================================================== DEVise Data Visualization Software (c) Copyright 1992-1996 By the DEVise Development Group Madison, Wisconsin All Rights Reserved. ======================================================================== Under no circumstances is this software to be copied, distributed, or altered in any way without prior permission from the DEVise Development Group.*//* Test driver (main program) for "attribute projection" software. *//* $Id: aptest.c,v 1.9 1996/08/15 19:54:51 wenger Exp $ $Log: aptest.c,v $ Revision 1.9 1996/08/15 19:54:51 wenger Added 'pure' targets for attrproj and devread; fixed some dynamic memory problems. Found some bugs while demo'ing for soils science people. Revision 1.8 1996/07/31 19:33:43 wenger Added AttrProj member functions for reading entire records (no projection). Revision 1.7 1996/05/22 18:50:44 wenger Greatly simplified Init::DoInit() to only do what's necessary for attribute projection; other minor changes. Revision 1.6 1996/05/14 15:34:58 wenger Added GetDataSize method to AttrProj class; removed vector.o from AttrProjLib.o; various cleanups. Revision 1.5 1996/05/01 16:19:38 wenger Initial version of code to project attributes now working. Revision 1.4 1996/04/30 18:53:40 wenger Attrproj now generates a single projection of all attributes of the real data. Revision 1.3 1996/04/30 15:31:57 wenger Attrproj code now reads records via TData object; interface to Birch code now in place (but not fully functional). Revision 1.2 1996/04/25 19:25:25 wenger Attribute projection code can now parse a schema, and create the corresponding TData object. Revision 1.1 1996/04/22 18:01:55 wenger First version of "attribute projection" code. The parser (with the exception of instantiating any TData) compiles and runs. */#include <stdio.h>#include <sys/types.h>#include "AttrProj.h"#include "ApInit.h"/*------------------------------------------------------------------------------ * function: main * Main function for the aptest program. */int /* description */main( int argc, char ** argv){ /* start main */ char * dataFile = "/p/devise/dat/3d_test.dat"; int result = 0; char * projectionFile = "/u/w/e/wenger/public/attrproj/projection"; char * schemaFile = "/p/devise/schema/3d_test.schema"; if (argc > 1) { schemaFile = argv[1]; } if (argc > 2) { dataFile = argv[2]; } if (argc > 3) { projectionFile = argv[3]; } /* Initialize Devise stuff for command-line arguments. */ Init::DoInit(); AttrProj * apP = new AttrProj(schemaFile, projectionFile, dataFile); RecId firstId; RecId lastId; RecId recId; VectorArray * vecArrayP; Vector vec; { int attrCount; int recSize; apP->GetWholeRecSize(attrCount, recSize); printf("whole record attribute count = %d\n", attrCount); printf("whole record size = %d\n", recSize); vec.Init(recSize / sizeof(double)); } { int projCount; const int * attrCounts; const int * projSizes; apP->GetDataSize(projCount, attrCounts, projSizes); printf("projection count = %d\n", projCount); int projNum; printf("attribute counts = "); for (projNum = 0; projNum < projCount; projNum++) { printf("%d ", attrCounts[projNum]); } printf("\n"); printf("projection sizes = "); for (projNum = 0; projNum < projCount; projNum++) { printf("%d ", projSizes[projNum]); } printf("\n"); } apP->CreateRecordList(vecArrayP); apP->FirstRecId(firstId); apP->LastRecId(lastId); for (recId = firstId; recId <= lastId; recId++) { printf("\nRecord %d:\n", (int) recId); apP->ReadWholeRec(recId, vec); { int count; printf(" Whole record:\n "); for (count = 0; count < vec.dim; count++) { printf(" %f", vec.value[count]); } printf("\n"); } apP->ReadRec(recId, *vecArrayP); int vecCount = vecArrayP->GetVecCount(); int vecNum; for (vecNum = 0; vecNum < vecCount; vecNum++) { Vector * vecP = vecArrayP->GetVector(vecNum); int vecDim = vecP->dim; int count; printf(" Projection %d:\n ", vecNum); for (count = 0; count < vecDim; count++) { printf(" %f", vecP->value[count]); } printf("\n"); } } delete vecArrayP; delete apP; return result;} /* end main *//*============================================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -