215 if ( this->materialStatuses.find(key) != this->materialStatuses.end() ) {
218 this->materialStatuses[key]=std::move(ptr);
219 return this->materialStatuses[key].get();
232 bool hasSlaveGaussPoint();
236 size_t findFirstIndexOfSlaveGaussPoint(
GaussPoint *gp);
242 void printOutputAt(FILE *file,
TimeStep *tStep,
const char* indent=
"");
249 void updateYourself(
TimeStep *tStep);
261 if ( this->materialStatuses.find(key) != this->materialStatuses.end() ) {
264 this->materialStatuses[key]=std::unique_ptr<IntegrationPointStatus>(ptr);
265 return this->materialStatuses[key].get();
double weight
Integration weight.
const IntegrationPointStatus * giveMaterialStatus(IntegrationPointStatusIDType key=IPSID_Default) const
IntegrationPointStatus * __setMaterialStatus(IntegrationPointStatus *ptr, IntegrationPointStatusIDType key=IPSID_Default)
Material * giveMaterial()
Returns reference to material associated to related element of receiver.
int giveNumber()
Returns number of receiver.
friend class LayeredCrossSection
double giveNaturalCoordinate(int i) const
Returns i-th natural element coordinate of receiver.
std::vector< GaussPoint * > & giveSlaveGaussPoints()
bool hasMaterialStatus(IntegrationPointStatusIDType key=IPSID_Default) const
const char * giveClassName() const
Returns class name of the receiver.
void setMaterialMode(MaterialMode newMode)
Sets material mode of receiver.
std::vector< GaussPoint * > gaussPoints
List of slave integration points.
GaussPoint(IntegrationRule *ir, int n, FloatArray iNaturalCoord, double w, MaterialMode mode)
IntegrationPointStatus * setMaterialStatus(std::unique_ptr< IntegrationPointStatus > ptr, IntegrationPointStatusIDType key=IPSID_Default)
FloatArray naturalCoordinates
Natural Element Coordinates of receiver.
friend class FiberedCrossSection
void setNaturalCoordinates(const FloatArray &c)
const FloatArray & giveGlobalCoordinates()
std::unique_ptr< FloatArray > subPatchCoordinates
Optional local sub-patch (sub-patches form element volume) coordinates of the receiver.
const FloatArray & giveNaturalCoordinates() const
Returns coordinate array of receiver.
MaterialMode giveMaterialMode()
Returns corresponding material mode of receiver.
const FloatArray & giveSubPatchCoordinates() const
Returns local sub-patch coordinates of the receiver.
IntegrationPointStatus * giveMaterialStatus(IntegrationPointStatusIDType key=IPSID_Default)
IntegrationRule * giveIntegrationRule()
Returns corresponding integration rule to receiver.
IntegrationRule * irule
Reference to parent integration rule.
Element * giveElement()
Returns corresponding element to receiver.
CrossSection * giveCrossSection()
Returns reference to cross section associated to related element of receiver.
void setSubPatchCoordinates(const FloatArray &c)
double giveWeight()
Returns integration weight of receiver.
std::map< int, std::unique_ptr< IntegrationPointStatus > > materialStatuses
Status of e.g. material in point.
void setGlobalCoordinates(const FloatArray &iCoord)
std::unique_ptr< FloatArray > globalCoordinates
Optional global (Cartesian) coordinates.
MaterialMode materialMode
Material mode of receiver.
GaussPoint IntegrationPoint
IntegrationPointStatusIDType