This is removing the statics and encapsulate things
GP data manager is now encapsulated into a class
xIntegrationRuleStoredDataManager from which all
xIntegrationRuleStoredxxx class derive. This way xIntegrationRule
is not anymore impacted and when xIntegrationRuleStoredxxx is deleted
every thing is automatically cleaned. xIntegrationRuleStoredxxx is
responsible of the management of attached gauss points to entity.
xIntegrationRuleStoredDataManager encapsulate the DATAMANAGER thus in
future switching to others things will be easy. It retake almost the
same API as DATAMANAGER with other names.
Now that static are removed xExtendShapeFcts had to be modified to store
a reference of xIntegrationRuleStoredxxx so that adding GP to entity is
possible through functor call like before but with a new parameter
passing xIntegrationRuleStoredxxx viewd as a
xIntegrationRuleStoredDataManager. The xIntegrationRuleStoredxxx
instance and the xExtendShapeFcts generator are now more tied together.
This induce that the xSpaceExtendedShape based on generator is tied to
xIntegrationRuleStoredxxx and assemble is now a little more
secure as the field (base on xSpaceExtendedShape) is now in coherence
with xIntegrationRuleStoredxxx explicitly.
Hope I did not break something somewhere. I mean test pass but there is
not much of them on those things ....