14 template<
class T,
int N>
21 template <
class TGeo,
class TRef>
52 std::map<int64_t,int64_t> &gl2lcNdIdx,
53 std::map<int64_t,int64_t> &gl2lcElIdx );
71 std::map<int64_t,int64_t> &gl2lcNdIdx,
72 std::map<int64_t,int64_t> &gl2lcElIdx)
const override;
102 return TRef::FatherSide(side,son);
116 int64_t& index)
override 125 template <
class TGeo,
class TRef>
TPZGeoEl * SubElement(int is) const override
Returns a pointer to the subelement is.
REAL RefElVolume() override
Volume of the master element.
virtual void ResetSubElements() override
Reset all subelements to NULL.
int HasSubElement() const override
Returns 1 if the element has subelements.
TPZTransform GetTransform(int side, int son) override
Contains declaration of TPZGeoElRefLess class which implements the mapping between the master element...
virtual int FatherSide(int side, int son) override
void Read(TPZStream &str, void *context) override
read objects from the stream
virtual TPZGeoEl * CreateGeoElement(MElementType type, TPZVec< int64_t > &cornerindexes, int matid, int64_t &index, int reftype=1)
Generic method for creating a geometric element. Putting this method centrally facilitates the modifi...
Implements a generic geometric element with a uniform refinement pattern. Geometry.
void Write(TPZStream &str, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Utility class which represents an element with its side. The Geometric approximation classes Geometry...
Implements the mapping between the master element and deformed element. Geometry. ...
int NSubElements() const override
Returns the number of subelements of the element independent of the fact hether the element has alrea...
TPZGeoMesh * Mesh() const
Returns the mesh to which the element belongs.
virtual TPZGeoEl * ClonePatchEl(TPZGeoMesh &DestMesh, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx) const override
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
virtual TPZGeoEl * CreateGeoElement(MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index) override
Creates a geometric element according to the type of the father element.
virtual void Divide(TPZVec< TPZGeoEl *> &pv) override
Divides the element and puts the resulting elements in the vector.
virtual TPZGeoEl * Clone(TPZGeoMesh &DestMesh) const override
virtual int ClassId() const override
Define the class id associated with the class.
int32_t Hash(std::string str)
virtual ~TPZGeoElement()
Default destructor.
void MidSideNodeIndex(int side, int64_t &index) const override
Returns the midside node index along a side of the element.
This class implements a geometric mesh for the pz environment. Geometry.
MElementType
Define the element types.
This class implements a stack object. Utility.
void SetSubElement(int id, TPZGeoEl *el) override
Sets the subelement of index i.
Implements computational mesh. Computational Mesh.
int64_t fSubEl[TRef::NSubEl]
TPZGeoElement()
Default constructor.
int ClassId() const override
Define the class id associated with the class.
Defines the interface for saving and reading data. Persistency.
Defines the interface of a computational element. Computational Element.
TPZGeoElSide SideSubElement(int side, int position)
Return a pointer and a side of the subelement of the element at the side and the indicated position...
virtual void GetSubElements2(int side, TPZStack< TPZGeoElSide > &subel) const override
This method will return a partition of the side of the current element as the union of sub elements/...
int NSideSubElements(int side) const override
Returns the number of subelements as returned by GetSubElements2(side)