-
Nicolas CHEVAUGEON authored
The class hierachy with base xNonLocalInfoGeneratorForKeysAndFcts is modifyed to store the data it build for each element in a data manager instead of using a raw AOMDtag. details : changes in class xNonLocalInfoForKeysAndFcts - member functions int getAllKeysFromSlavesAndFree(xValKey::ids_size_t phys, xSpace::femKeys * keys, xSpace::femKeys * other_master_keys); and femfemRelKeys& getCoefAndKeysForKey( const xValKey & key ); are changed to : int getAllKeysFromSlavesAndFree(xValKey::ids_size_t phys, xSpace::femKeys * keys, xSpace::femKeys * other_master_keys) const; const femRelKeys& getCoefAndKeysForKey( const xValKey & key ) const; (These member functions do not modify the xNonLocalInfoForKeysAndFcts. It is changed to a const member function, so that it could be use in contant where the object is const.) in class xNonLocalInfoGeneratorForKeysAndFcts - virtual member virtual unsigned int generateNonLocalInfoForKeysAndFcts(spacePtr_t space, const int polynomial_order)=0; is changed to virtual void generateNonLocalInfoForKeysAndFcts(spacePtr_t space, const int polynomial_order)=0; rational : previously it returned the tag to recover the data xNonLocalInfoForKeysAndFcts associated to each entity. Now this data is stored internally in a datamanager. The tag do not exist any more nd is no longer returned. The data for one element can now be recover by calling the new const pure virtual member function : virtual const xNonLocalInfoForKeysAndFcts * getNonLocalInfo(const AOMD::mEntity & e) const =0; - a virtual destructor is added. in class xNonLocalInfoGeneratorForKeysAndFctsForHangingNode: constructor xNonLocalInfoGeneratorForKeysAndFctsForHangingNode(xMesh &mesh,unsigned int tag, const DATAMANAGER < AOMD::mEntity *> &isHangingOn = xMesh::get_const_is_hanging_on(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &downGroup =xMesh::get_const_down_group(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &bndGroup= xMesh::get_const_bnd_group(), double thresold = 1.e-12); is replaced by xNonLocalInfoGeneratorForKeysAndFctsForHangingNode(xMesh &mesh, DATAMANAGER< xNonLocalInfoForKeysAndFcts * >& _nli_data, const DATAMANAGER < AOMD::mEntity *> &isHangingOn = xMesh::get_const_is_hanging_on(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &downGroup =xMesh::get_const_down_group(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &bndGroup= xMesh::get_const_bnd_group(), double thresold = 1.e-12); Rational : the previous constructor was used to force the created datas to be attached using an imposed tag. This is replaced by passing the data manager that will store the data. -a virtual destructor is added. The data are constructed on the current mesh for a given space by calling : void generateNonLocalInfoForKeysAndFcts(spacePtr_t space, const int polynomial_order) override; - The data can be recovered using the override : const xNonLocalInfoForKeysAndFcts * getNonLocalInfo(const AOMD::mEntity & e) const override; class xNonLocalInfoGeneratorForKeysAndFctsForHangingNodeOldAndCurrent : This class is also modifyed to conform to the new base class. A xNonLocalInfoGeneratorForKeysAndFcts object pointer is used as an input for xSpacePolynomialOctree based objects. This class hierachy as been modify to integrate the new interface. File xFEM/src/xAttachableNonLocalInfoForKeysAndFcts.h is removed from the repository since it is not used anymore. (it was used to define and access to xNonLocalInfoForKeysAnfFcts has a mAttachableData) Other minor change : header xAttachableVector.h remove from the include list in xInterface/xOctree/src/InterfaceOctreeToAOMD.cc since it is not used here anymore. deleted: xFEM/src/xAttachableNonLocalInfoForKeysAndFcts.h modified: xFEM/src/xNonLocalInfoForKeysAndFcts.cc modified: xFEM/src/xNonLocalInfoForKeysAndFcts.h modified: xFEM/src/xNonLocalInfoForKeysAndFcts_imp.h modified: xFEM/src/xSpacePolynomial.cc modified: xFEM/src/xSpacePolynomial.h modified: xInterface/AOMD/CMakeLists.txt modified: xInterface/xOctree/src/InterfaceOctreeToAOMD.cc
f0a19c17