SceneFrame::~SceneFrame( ) { /* Delete Geometry */ for( struct aa_rx_geom *g : geometry ) { aa_rx_geom_destroy(g); } /* Delete Inertial */ aa_checked_free(inertial); }
AA_API void aa_rx_wf_obj_destroy( struct aa_rx_wf_obj * obj) { free( obj->vertex.data ); free( obj->normal.data ); free( obj->vertex_indices.data ); free( obj->normal_indices.data ); free( obj->uv_indices.data ); free( obj->texture_indices.data ); svec_type_destroy( &obj->mtl_files ); svec_type_destroy( &obj->objects ); svec_type_destroy( &obj->materials ); mtlvec_type_destroy( &obj->mtl ); aa_checked_free(obj->filename); aa_checked_free(obj->dirname); free(obj); }
AA_API void aa_rx_mp_set_start( struct aa_rx_mp *mp, size_t n_all, double *q_all ) { /* Assume the start state is valid */ aa_rx_mp_allow_config(mp, n_all, q_all); // FIXME: Seems that there are problems if this is called repeatedly amino::sgSpaceInformation::Ptr &si = mp->space_information; amino::sgStateSpace *ss = si->getTypedStateSpace(); /* Add Start State */ amino::sgSpaceInformation::ScopedStateType state(si); ss->extract_state( q_all, state.get() ); mp->problem_definition->addStartState(state); /* Copy full start */ aa_checked_free(mp->config_start); mp->config_start = AA_MEM_DUP(double, q_all, n_all); }
AA_API void aa_rx_mp_destroy( struct aa_rx_mp *mp ) { aa_checked_free(mp->config_start); delete mp; }