jason allen bryan (jbryan++at++cis.ohio-state.edu)
Thu, 8 Oct 1998 09:09:43 -0400 (EDT)
#includes ...
// global declarations
pfVec3 stupid[3]; <---- here's the fix
pfVec3 basePoints[8];
pfVec3 lastPoints[8];
pfVec3 points[8];
pfVec3 dir[8];
pfVec3 baseObjectAxis[3];
pfVec3 objectAxis[3];
pfVec3 centerOfMass;
pfVec3 baseCM;
pfCoord baseObjectCoord;
pfCoord objectCoord;
pfDCS *object_dcs;
float scale;
struct timeval end_time, start_time;
struct timezone tz;
double secs, usecs;
float dt;
pfDCS *lightDCS;
pfuEventStream events;
pfDCS *load_object (int argc, char *argv[])
{
code to load iv file of object
...
}
int load_object_data (char *filename)
{
code to load data related to position and orientation of object
...
}
void transform_object (void)
{
int i;
pfMatrix m;
m.makeIdent ();
m.postRot (m, xform.hpr[2], 0.0, 1.0, 0.0);
m.postRot (m, xform.hpr[1], 1.0, 0.0, 0.0);
m.postRot (m, xform.hpr[0], 0.0, 0.0, 1.0);
objectAxis[0].xformPt (baseObjectAxis[0], m);
objectAxis[1].xformPt (baseObjectAxis[1], m);
objectAxis[2].xformPt (baseObjectAxis[2], m);
m.postScale (m, scale, scale, scale);
m.postTrans (m, xform.xyz[0], xform.xyz[1], xform.xyz[2]);
for (i = 0; i < 8; i++)
{
lastPoints[i] = points[i];
points[i] = basePoints[i];
points[i].xformPt (points[i], m);
dir[i] = points[i] - lastPoints[i];
}
centerOfMass.xformPt (baseCM, m);
object_dcs->setCoord (&xform);
}
pfDCS *load_scene (int argc, char *argv[])
{
code to load scene in iv or flt format
...
}
int main(int argc, char *argv[])
{
...
initialize performer, etc
run simulation
...
}
This archive was generated by hypermail 2.0b2 on Thu Oct 08 1998 - 06:09:50 PDT