Beispiel #1
0
Sphere::~Sphere()
{
#if(DUMP_OBJECT_DATA == 1)
    Debug_Info("{ // SPHERE \n");
    DUMP_OBJECT_FIELDS(this);
    Debug_Info("\t{ %f, %f, %f }, // Center\n", \
               (DBL)Center[X],  \
               (DBL)Center[Y],  \
               (DBL)Center[Z]); \
    Debug_Info("\t%f // Radius\n", (DBL)Radius);
    Debug_Info("}\n");
#endif

    Destroy_Transform(Trans);
}
static void Destroy_Plane(OBJECT *Object)
{
#if(DUMP_OBJECT_DATA == 1)
  Debug_Info("{ // PLANE \n");
  DUMP_OBJECT_FIELDS(Object);
  Debug_Info("\t{ %f, %f, %f }, // Normal_Vector\n", \
             (DBL)((PLANE *)Object)->Normal_Vector[X], \
             (DBL)((PLANE *)Object)->Normal_Vector[Y], \
             (DBL)((PLANE *)Object)->Normal_Vector[Z]); \
  Debug_Info("\t%f // Distance\n", (DBL)((PLANE *)Object)->Distance);
  Debug_Info("}\n");
#endif

  Destroy_Transform(((PLANE *)Object)->Trans);

  POV_FREE(Object);
}
static void Destroy_Cone(OBJECT *Object)
{
#if(DUMP_OBJECT_DATA == 1)
  Debug_Info("{ // CONE \n");
  DUMP_OBJECT_FIELDS(Object);
  Debug_Info("\t{ %f, %f, %f }, // apex\n", \
             (DBL)((CONE *)Object)->apex[X], \
             (DBL)((CONE *)Object)->apex[Y], \
             (DBL)((CONE *)Object)->apex[Z]); \
  Debug_Info("\t{ %f, %f, %f }, // base\n", \
             (DBL)((CONE *)Object)->base[X], \
             (DBL)((CONE *)Object)->base[Y], \
             (DBL)((CONE *)Object)->base[Z]); \
  Debug_Info("\t%f, // apex_radius\n", (DBL)((CONE *)Object)->apex_radius);
  Debug_Info("\t%f, // base_radius\n", (DBL)((CONE *)Object)->base_radius);
  Debug_Info("\t%f // dist\n", (DBL)((CONE *)Object)->dist);
  Debug_Info("}\n");
#endif

  Destroy_Transform(((CONE *)Object)->Trans);

  POV_FREE (Object);
}