void ActivateChild(UIManager* manager, u32 index) { UIActiveElement* active = manager->active_elements; UIElement* element = manager->elements + index; UIActiveElement* parent = active + element->parent_index; UIActiveElement to_be_active = {}; V2 dim = element->dim; V2 offset = element->offset_from_parent; V2 parent_corner = parent->corner; V2 rel_corner = {parent_corner.x + offset.x, parent_corner.y + offset.y}; V2 center = {rel_corner.x + dim.x/2.0f, rel_corner.y + dim.y/2.0f}; UIChild child = {dim, center}; to_be_active.vao = LoadElement(dim); to_be_active.corner = rel_corner; to_be_active.color = element->color; manager->active_elements[manager->active_count++] = to_be_active; manager->children[manager->child_count++] = child; }
void ActivateParent(UIManager* manager, u32 index, u16 offset_to_children, u8 num_children) { UIActiveElement* active = manager->active_elements; UIElement* element = manager->elements + index; UIActiveElement* parent_of_element = active + element->parent_index; UIActiveElement to_be_active = {}; V2 dim = element->dim; V2 offset = element->offset_from_parent; V2 parent_corner = parent_of_element->corner; V2 rel_corner = {parent_corner.x + offset.x, parent_corner.y + offset.y}; V2 center = {rel_corner.x + dim.x/2.0f, rel_corner.y + dim.y/2.0f}; UIParent parent = {dim, center, num_children, offset_to_children}; to_be_active.vao = LoadElement(dim); to_be_active.corner = rel_corner; to_be_active.color = element->color; manager->active_elements[manager->active_count++] = to_be_active; manager->parents[manager->parent_count++] = parent; }
bool UmcScenario::Load(const apr_xml_elem* pElem, apr_pool_t* pool) { const apr_xml_elem* pChildElem; /* Load Child Elements */ for(pChildElem = pElem->first_child; pChildElem; pChildElem = pChildElem->next) { LoadElement(pChildElem,pool); } return true; }
bool UmcScenario::Load(const apr_xml_elem* pElem, apr_pool_t* pool) { const apr_xml_elem* pChildElem; /* Load Child Elements */ for(pChildElem = pElem->first_child; pChildElem; pChildElem = pChildElem->next) { if(!LoadElement(pChildElem,pool)) apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Load Child Element %s",pChildElem->name); } return true; }
mat_ZZ getbasis(int n,int seed,vec_ZZ& phi,double bit=10) { initialize(); std::ostringstream fname; fname << getfname(n,seed,bit,0); mat_ZZ L; if (FileExists(fname)==true) { LoadLattice(L,fname.str()); fname << ".phi"; LoadElement(phi,fname.str()); } else { vec_ZZ phi; //n stands for index gen_idealsvpchallenge(L,n,to_ZZ(seed),phi); #ifdef _allow_cachefiles SaveLattice(L,fname.str()); fname << ".phi"; SaveElement(phi,fname.str()); #endif } return L; }