void SPDocument::add_persp3d (Persp3D * const /*persp*/) { SPDefs *defs = SP_ROOT(this->root)->defs; for (SPObject *i = sp_object_first_child(SP_OBJECT(defs)); i != NULL; i = SP_OBJECT_NEXT(i) ) { if (SP_IS_PERSP3D(i)) { g_print ("Encountered a Persp3D in defs\n"); } } g_print ("Adding Persp3D to defs\n"); persp3d_create_xml_element (this); }
/* Create a default perspective in document defs if none is present (which can happen, among other * circumstances, after 'vacuum defs' or when a pre-0.46 file is opened). */ static void sp_box3d_context_ensure_persp_in_defs(SPDocument *document) { SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS(document); bool has_persp = false; for (SPObject *child = sp_object_first_child(defs); child != NULL; child = SP_OBJECT_NEXT(child) ) { if (SP_IS_PERSP3D(child)) { has_persp = true; break; } } if (!has_persp) { document->setCurrentPersp3D(persp3d_create_xml_element (document)); } }