/***********************************************************************/ /* Open Visualization Data Explorer */ /* (C) Copyright IBM Corp. 1989,1999 */ /* ALL RIGHTS RESERVED */ /* This code licensed under the */ /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ /***********************************************************************/ #include #include #include #include "arrayClass.h" /* * General regular grids. A regular grid in n-space is specified by * an n-dimensional origin and a set of n n-dimensional deltas. */ Array DXMakeGridPositionsV(int n, int *counts, float *origin, float *deltas) { Array as[100]; float zero[100]; int i; ASSERT(n<100); /* zero */ for (i=0; itype != TYPE_FLOAT) return NULL; /* is # terms == dimensionality? */ if (a->rank!=1 || nn!=a->shape[0]) return NULL; /* zero origin */ if (origin) for (i=0; itype==TYPE_FLOAT); ASSERT(as[i]->shape[0]==nn); ASSERT(as[i]->rank==1); if (DXGetArrayClass(as[i])!=CLASS_REGULARARRAY) return NULL; if (!DXGetRegularArrayInfo((RegularArray)(as[i]), counts? counts+i: NULL, (Pointer)orig, (Pointer)(deltas? deltas+i*nn : NULL))) return NULL; if (origin) for (j=0; j