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); delete Material; } }
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 (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_Blend_Map (BLEND_MAP *BMap) { int i; if (BMap != NULL) { if (--(BMap->Users) == 0) { for (i = 0; i < BMap->Number_Of_Entries; i++) { switch (BMap->Type) { case PIGMENT_TYPE: case DENSITY_TYPE: Destroy_Pigment(BMap->Blend_Map_Entries[i].Vals.Pigment); break; case NORMAL_TYPE: Destroy_Tnormal(BMap->Blend_Map_Entries[i].Vals.Tnormal); break; case TEXTURE_TYPE: Destroy_Textures(BMap->Blend_Map_Entries[i].Vals.Texture); } } POV_FREE (BMap->Blend_Map_Entries); POV_FREE (BMap); } } }
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); if (DestroyClip) Destroy_Object(Object->Clip); if (dynamic_cast<CompoundObject *> (Object) != NULL) Destroy_Object ((dynamic_cast<CompoundObject *> (Object))->children); delete Object; } }
void Destroy_Single_Object (ObjectPtr *objectPtr) { ObjectPtr object = *objectPtr; Destroy_Textures(object->Texture); Destroy_Object(object->Bound); Destroy_Object(object->Bound); if(object->Bound != object->Clip) Destroy_Object(object->Clip); delete object; }
void Destroy_Single_Object (ObjectPtr *objectPtr) { ObjectPtr object = *objectPtr; Destroy_Textures(object->Texture); Destroy_Object(object->Bound); /* NK 1998 */ Destroy_Transform(object->UV_Trans); Destroy_Object(object->Bound); if(object->Bound != object->Clip) Destroy_Object(object->Clip); delete object; }