void Destroy_Single_Object (OBJECT **ObjectPtr) { OBJECT *Object; Object = *ObjectPtr; Destroy_Textures(Object->Texture); Destroy_Object(Object->Bound); Destroy_Interior((INTERIOR *)Object->Interior); /* NK 1998 */ Destroy_Transform(Object->UV_Trans); Destroy_Object (Object->Bound); Destroy_Interior((INTERIOR *)Object->Interior); if (Object->Bound != Object->Clip) { Destroy_Object(Object->Clip); } *ObjectPtr = Object->Sibling; Destroy(Object); }
void Destroy_Object (OBJECT *Object) { OBJECT *Sib; while (Object != NULL) { Destroy_Textures(Object->Texture); Destroy_Textures(Object->Interior_Texture); Destroy_Object(Object->Bound); Destroy_Interior((INTERIOR *)Object->Interior); /* NK 1998 */ Destroy_Transform(Object->UV_Trans); if (Object->Bound != Object->Clip) { Destroy_Object(Object->Clip); } Sib = Object->Sibling; Destroy(Object); Object = Sib; } }
void Destroy_Material(MATERIAL *Material) { if (Material != NULL) { Destroy_Textures(Material->Texture); Destroy_Textures(Material->Interior_Texture); Destroy_Interior(Material->interior); POV_FREE(Material); } }
void Destroy_Single_Object (ObjectPtr *objectPtr) { ObjectPtr object = *objectPtr; Destroy_Textures(object->Texture); Destroy_Object(object->Bound); Destroy_Interior(object->interior); /* NK 1998 */ Destroy_Transform(object->UV_Trans); Destroy_Object(object->Bound); Destroy_Interior(object->interior); if(object->Bound != object->Clip) Destroy_Object(object->Clip); delete object; }
void Destroy_Object(ObjectPtr Object) { if(Object != NULL) { bool DestroyClip = true ; if (!Object->Bound.empty() && !Object->Clip.empty()) if (*Object->Bound.begin() == *Object->Clip.begin()) DestroyClip = false ; Destroy_Textures(Object->Texture); Destroy_Textures(Object->Interior_Texture); Destroy_Object(Object->Bound); Destroy_Interior(Object->interior); Destroy_Transform(Object->UV_Trans); if (DestroyClip) Destroy_Object(Object->Clip); if (dynamic_cast<CompoundObject *> (Object) != NULL) Destroy_Object ((dynamic_cast<CompoundObject *> (Object))->children); delete Object; } }