Commit 12f3843d authored by Tomáš Jakubec's avatar Tomáš Jakubec
Browse files

Refactor of names of functions in mesh_element.h

parent a46e1929
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.0, 2019-09-27T19:25:22. -->
<!-- Written by QtCreator 4.10.0, 2019-09-29T16:23:43. -->
<qtcreator>
<qtcreator>
 <data>
 <data>
  <variable>EnvironmentId</variable>
  <variable>EnvironmentId</variable>
+287 −287

File changed.

Preview size limit exceeded, changes collapsed.

+48 −58
Original line number Original line Diff line number Diff line
@@ -30,19 +30,19 @@ public:
        elementIndex = index;
        elementIndex = index;
    }
    }


    IndexType GetIndex(){
    IndexType getIndex(){
        return elementIndex;
        return elementIndex;
    }
    }


    void SetIndex(IndexType index){
    void setIndex(IndexType index){
        elementIndex = index;
        elementIndex = index;
    }
    }
/*
/*
    IndexType GetGlobalIndex(){
    IndexType getGlobalIndex(){
        return globalElementIndex;
        return globalElementIndex;
    }
    }


    void SetGlobalIndex(IndexType index){
    void setGlobalIndex(IndexType index){
        globalElementIndex = index;
        globalElementIndex = index;
    }
    }
*/
*/
@@ -171,26 +171,26 @@ public:
                IndexType vertexAIndex = INVALID_INDEX(IndexType),
                IndexType vertexAIndex = INVALID_INDEX(IndexType),
                IndexType vertexBIndex = INVALID_INDEX(IndexType))
                IndexType vertexBIndex = INVALID_INDEX(IndexType))
        :MeshElementBase<IndexType>(index) {
        :MeshElementBase<IndexType>(index) {
        SetVertexAIndex(vertexAIndex);
        setVertexAIndex(vertexAIndex);
        SetVertexBIndex(vertexBIndex);
        setVertexBIndex(vertexBIndex);
    }
    }






    IndexType GetVertexAIndex(){
    IndexType getVertexAIndex(){
        return vertexAIndex;
        return vertexAIndex;
    }
    }


    IndexType GetVertexBIndex(){
    IndexType getVertexBIndex(){
        return vertexBIndex;
        return vertexBIndex;
    }
    }


    void SetVertexAIndex(IndexType index){
    void setVertexAIndex(IndexType index){
        vertexAIndex = index;
        vertexAIndex = index;
    }
    }




    void SetVertexBIndex(IndexType index){
    void setVertexBIndex(IndexType index){
        vertexBIndex = index;
        vertexBIndex = index;
    }
    }


@@ -280,73 +280,71 @@ public:
    using Face = MeshElement<Dimension, Dimension - 1, IndexType, Real, reserve<Dimension - 1>()>;
    using Face = MeshElement<Dimension, Dimension - 1, IndexType, Real, reserve<Dimension - 1>()>;
    using Cell = MeshElement<Dimension, Dimension, IndexType, Real, 0>;
    using Cell = MeshElement<Dimension, Dimension, IndexType, Real, 0>;


    template <unsigned int dim>
    template<unsigned int ElementDimension>
    struct ElemType //lze nahradit šablonovým using
    using ElementType = MeshElement<Dimension, ElementDimension, IndexType, Real, reserve<ElementDimension>()>;
    {

        using type = MeshElement<Dimension, dim, IndexType, Real, reserve<dim>()>;
    };


    template<unsigned int dim>
    template<unsigned int dim>
    std::vector<typename ElemType<dim>::type>& GetElements(){
    std::vector<ElementType<dim>>& getElements(){
        static_assert (Dimension >= dim, "In GetElements template parameter dim must be less or equal to Dimension.");
        static_assert (Dimension >= dim, "In GetElements template parameter dim must be less or equal to Dimension.");
        return Refs._MeshElements<Dimension, dim, IndexType, Real, Reserve...>::elements;
        return Refs._MeshElements<Dimension, dim, IndexType, Real, Reserve...>::elements;
    }
    }




    template<unsigned int dim>
    template<unsigned int dim>
    const std::vector<typename ElemType<dim>::type>&  GetElements() const {
    const std::vector<ElementType<dim>>&  getElements() const {
        static_assert (Dimension >= dim, "In GetElements template parameter dim must be less or equal to Dimension.");
        static_assert (Dimension >= dim, "In GetElements template parameter dim must be less or equal to Dimension.");
        return Refs._MeshElements<Dimension, dim, IndexType, Real, Reserve...>::elements;
        return Refs._MeshElements<Dimension, dim, IndexType, Real, Reserve...>::elements;
    }
    }


    std::vector<Vertex>& GetVertices(){
    std::vector<Vertex>& getVertices(){
        return GetElements<0>();
        return getElements<0>();
    }
    }




    std::vector<Edge>& GetEdges(){
    std::vector<Edge>& getEdges(){
        return GetElements<1>();
        return getElements<1>();
    }
    }


    std::vector<Face>& GetFaces(){
    std::vector<Face>& getFaces(){
        return GetElements<Dimension - 1>();
        return getElements<Dimension - 1>();
    }
    }


    std::vector<Cell>& GetCells(){
    std::vector<Cell>& getCells(){
        return GetElements<Dimension>();
        return getElements<Dimension>();
    }
    }


    std::vector<Cell>& GetBoundaryCells() {
    std::vector<Cell>& getBoundaryCells() {
        return BoundaryCells;
        return BoundaryCells;
    }
    }


    void AppendBoundaryCell(IndexType cellIndex, IndexType faceIndex){
    void appendBoundaryCell(IndexType cellIndex, IndexType faceIndex){
        Cell c;
        Cell c;
        c.SetIndex(cellIndex);
        c.setIndex(cellIndex);
        c.SetBoundaryElementIndex(faceIndex);
        c.SetBoundaryElementIndex(faceIndex);
        BoundaryCells.push_back(c);
        BoundaryCells.push_back(c);
    }
    }


    void SetupBoundaryCells(){
    void setupBoundaryCells(){
        for (Face& face : GetFaces()){
        for (Face& face : getFaces()){
            if (face.GetCellLeftIndex == INVALID_INDEX(IndexType)){
            if (face.GetCellLeftIndex == INVALID_INDEX(IndexType)){
                IndexType cellIndex = BoundaryCells.size() | BOUNDARY_INDEX(IndexType);
                IndexType cellIndex = BoundaryCells.size() | BOUNDARY_INDEX(IndexType);
                face.SetCellLeftIndex(cellIndex);
                face.SetCellLeftIndex(cellIndex);
                AppendBoundaryCell(cellIndex, face.GetIndex());
                appendBoundaryCell(cellIndex, face.getIndex());
            }
            }
            if (face.GetCellRightIndex == INVALID_INDEX(IndexType)){
            if (face.GetCellRightIndex == INVALID_INDEX(IndexType)){
                IndexType cellIndex = BoundaryCells.size() | BOUNDARY_INDEX(IndexType);
                IndexType cellIndex = BoundaryCells.size() | BOUNDARY_INDEX(IndexType);
                face.SetCellRightIndex(cellIndex);
                face.SetCellRightIndex(cellIndex);
                AppendBoundaryCell(cellIndex, face.GetIndex());
                appendBoundaryCell(cellIndex, face.getIndex());
            }
            }
        }
        }
        BoundaryCells.shrink_to_fit();
        BoundaryCells.shrink_to_fit();
    }
    }




    void SetupBoundaryCellsCenters() {
    void setupBoundaryCellsCenters() {
        for(Cell& cell : BoundaryCells){
        for(Cell& cell : BoundaryCells){
            cell.SetCenter(GetFaces().at(cell.getBoundaryElementIndex()).GetCenter());
            cell.SetCenter(getFaces().at(cell.getBoundaryElementIndex()).GetCenter());
        }
        }
    }
    }


@@ -363,8 +361,8 @@ public:
            actual = firstBElem;
            actual = firstBElem;
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }
        CellSubelementIterator& operator++ () {actual = parentMesh->GetFaces().at(actual).getNextBElem(cellIndex) == firstBElem ? INVALID_INDEX(IndexType) : parentMesh->GetFaces().at(actual).getNextBElem(cellIndex); return *this;}
        CellSubelementIterator& operator++ () {actual = parentMesh->getFaces().at(actual).getNextBElem(cellIndex) == firstBElem ? INVALID_INDEX(IndexType) : parentMesh->getFaces().at(actual).getNextBElem(cellIndex); return *this;}
        CellSubelementIterator& operator++ (int) {actual = parentMesh->GetFaces().at(actual).getNextBElem(cellIndex) == firstBElem ? INVALID_INDEX(IndexType) : parentMesh->GetFaces().at(actual).getNextBElem(cellIndex); return *this;}
        CellSubelementIterator& operator++ (int) {actual = parentMesh->getFaces().at(actual).getNextBElem(cellIndex) == firstBElem ? INVALID_INDEX(IndexType) : parentMesh->getFaces().at(actual).getNextBElem(cellIndex); return *this;}
        IndexType operator* (){return actual;}
        IndexType operator* (){return actual;}
        bool operator== (CellSubelementIterator& it) {return actual == it.actual;}
        bool operator== (CellSubelementIterator& it) {return actual == it.actual;}
        bool operator!= (CellSubelementIterator& it) {return actual != it.actual;}
        bool operator!= (CellSubelementIterator& it) {return actual != it.actual;}
@@ -380,7 +378,7 @@ public:
        }
        }


        CellSubelementIterator begin() {
        CellSubelementIterator begin() {
            return CellSubelementIterator(cellIndex, parentMesh->GetCells()[cellIndex].getBoundaryElementIndex(), parentMesh);
            return CellSubelementIterator(cellIndex, parentMesh->getCells()[cellIndex].getBoundaryElementIndex(), parentMesh);
        }
        }


        CellSubelementIterator end() {
        CellSubelementIterator end() {
@@ -395,7 +393,7 @@ public:
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
    public:
    public:
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, ElementDim, IndexType, Real, reserve<ElementDim>()>& meshElement){
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, ElementDim, IndexType, Real, reserve<ElementDim>()>& meshElement){
            elementIndex = meshElement.GetIndex();
            elementIndex = meshElement.getIndex();
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


@@ -404,12 +402,12 @@ public:
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


        IndexType GetIndex(){
        IndexType getIndex(){
            return elementIndex;
            return elementIndex;
        }
        }


        SubelementContainer<IndexType, reserve<ElementDim>()>& getSubelements(){
        SubelementContainer<IndexType, reserve<ElementDim>()>& getSubelements(){
            return parentMesh->template GetElements<ElementDim>()[elementIndex].getSubelements();
            return parentMesh->template getElements<ElementDim>()[elementIndex].getSubelements();
        }
        }
    };
    };


@@ -420,7 +418,7 @@ public:
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
    public:
    public:
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, Dimension, IndexType, Real, 0>& meshElement){
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, Dimension, IndexType, Real, 0>& meshElement){
            elementIndex = meshElement.GetIndex();
            elementIndex = meshElement.getIndex();
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


@@ -429,7 +427,7 @@ public:
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


        IndexType GetIndex(){
        IndexType getIndex(){
            return elementIndex;
            return elementIndex;
        }
        }


@@ -447,7 +445,7 @@ public:
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
    public:
    public:
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, 1, IndexType, Real, 0>& meshElement){
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, MeshElement<Dimension, 1, IndexType, Real, 0>& meshElement){
            elementIndex = meshElement.GetIndex();
            elementIndex = meshElement.getIndex();
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


@@ -456,12 +454,12 @@ public:
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


        IndexType GetIndex(){
        IndexType getIndex(){
            return elementIndex;
            return elementIndex;
        }
        }


        Edge& GetElement() {
        Edge& getElement() {
            return parentMesh->GetEdges()[elementIndex];
            return parentMesh->getEdges()[elementIndex];
        }
        }


    };
    };
@@ -472,7 +470,7 @@ public:
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
        MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh;
    public:
    public:
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, Vertex& meshElement){
        MeshElementWrap(MeshElements<Dimension, IndexType, Real, Reserve...>* parentMesh, Vertex& meshElement){
            elementIndex = meshElement.GetIndex();
            elementIndex = meshElement.getIndex();
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


@@ -481,17 +479,17 @@ public:
            this->parentMesh = parentMesh;
            this->parentMesh = parentMesh;
        }
        }


        IndexType GetIndex(){
        IndexType getIndex(){
            return elementIndex;
            return elementIndex;
        }
        }


        Vertex& GetElement() {
        Vertex& getElement() {
            return parentMesh->GetVertices()[elementIndex];
            return parentMesh->GetVertices()[elementIndex];
        }
        }
    };
    };


    template<unsigned int ElementDim>
    template<unsigned int ElementDim>
    MeshElementWrap<ElementDim> GetElement(IndexType elementIndex){
    MeshElementWrap<ElementDim> getElement(IndexType elementIndex){
        return MeshElementWrap<ElementDim>(this, elementIndex);
        return MeshElementWrap<ElementDim>(this, elementIndex);
    }
    }


@@ -501,13 +499,5 @@ public:














#endif // MESH_ELEMENT_H
#endif // MESH_ELEMENT_H
+70 −70

File changed.

Preview size limit exceeded, changes collapsed.

+12 −12
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ private:
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        static void AlocateMemory(MeshDataContainer<DataType, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
        static void AlocateMemory(MeshDataContainer<DataType, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
            parent.template GetDataPos<pos>().resize(
            parent.template GetDataPos<pos>().resize(
                        mesh.template GetElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
                        mesh.template getElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
            Alocator<pos - 1>::AlocateMemory(parent, mesh);
            Alocator<pos - 1>::AlocateMemory(parent, mesh);
        }
        }


@@ -54,7 +54,7 @@ private:
                                  MeshElements<Dimension, IndexType, Real, Reserve...>& mesh,
                                  MeshElements<Dimension, IndexType, Real, Reserve...>& mesh,
                                  const DataType& initialValue) {
                                  const DataType& initialValue) {
            parent.template GetDataPos<pos>().resize(
            parent.template GetDataPos<pos>().resize(
                        mesh.template GetElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        mesh.template getElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        initialValue);
                        initialValue);
            Alocator<pos - 1>::AlocateMemory(parent, mesh, initialValue);
            Alocator<pos - 1>::AlocateMemory(parent, mesh, initialValue);
        }
        }
@@ -66,7 +66,7 @@ private:
        static void AlocateMemory(MeshDataContainer<DataType, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
        static void AlocateMemory(MeshDataContainer<DataType, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {


            parent.template GetDataPos<0>().resize(
            parent.template GetDataPos<0>().resize(
                        mesh.template GetElements<std::get<0>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
                        mesh.template getElements<std::get<0>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());


        }
        }
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
@@ -75,7 +75,7 @@ private:
                                  const DataType& initialValue) {
                                  const DataType& initialValue) {


            parent.template GetDataPos<0>().resize(
            parent.template GetDataPos<0>().resize(
                        mesh.template GetElements<std::get<0>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        mesh.template getElements<std::get<0>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        initialValue);
                        initialValue);


        }
        }
@@ -115,12 +115,12 @@ public:


    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    DataType& at(MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
    DataType& at(MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
        return GetDataDim<ElementDim>().at(element.GetIndex());
        return GetDataDim<ElementDim>().at(element.getIndex());
    }
    }


    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    DataType& operator[](MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
    DataType& operator[](MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
        return GetDataDim<ElementDim>()[element.GetIndex()];
        return GetDataDim<ElementDim>()[element.getIndex()];
    }
    }




@@ -212,7 +212,7 @@ public:
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        static void AlocateMemory(MeshDataContainer<std::tuple<DataTypes...>, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
        static void AlocateMemory(MeshDataContainer<std::tuple<DataTypes...>, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
            parent.template GetDataPos<pos>().resize(
            parent.template GetDataPos<pos>().resize(
                        mesh.template GetElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
                        mesh.template getElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
            Alocator<pos + 1, _DataTypes...>::AlocateMemory(parent, mesh);
            Alocator<pos + 1, _DataTypes...>::AlocateMemory(parent, mesh);
        }
        }


@@ -222,7 +222,7 @@ public:
                                  const _DataType& initialValue,
                                  const _DataType& initialValue,
                                  const _DataTypes&... values) {
                                  const _DataTypes&... values) {
            parent.template GetDataPos<pos>().resize(
            parent.template GetDataPos<pos>().resize(
                        mesh.template GetElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        mesh.template getElements<std::get<pos>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        initialValue);
                        initialValue);
            Alocator<pos + 1, _DataTypes...>::AlocateMemory(parent, mesh, values...);
            Alocator<pos + 1, _DataTypes...>::AlocateMemory(parent, mesh, values...);
        }
        }
@@ -234,7 +234,7 @@ public:
        static void AlocateMemory(MeshDataContainer<std::tuple<DataTypes...>, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {
        static void AlocateMemory(MeshDataContainer<std::tuple<DataTypes...>, Dimensions...>& parent ,MeshElements<Dimension, IndexType, Real, Reserve...>& mesh) {


            parent.template GetDataPos<sizeof... (Dimensions) - 1>().resize(
            parent.template GetDataPos<sizeof... (Dimensions) - 1>().resize(
                        mesh.template GetElements<std::get<sizeof... (Dimensions) - 1>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());
                        mesh.template getElements<std::get<sizeof... (Dimensions) - 1>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size());


        }
        }
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
        template<unsigned int Dimension, typename IndexType, typename Real, unsigned int ...Reserve>
@@ -244,7 +244,7 @@ public:
                                  const _DataTypes&...) {
                                  const _DataTypes&...) {


            parent.template GetDataPos<sizeof... (Dimensions) - 1>().resize(
            parent.template GetDataPos<sizeof... (Dimensions) - 1>().resize(
                        mesh.template GetElements<std::get<sizeof... (Dimensions) - 1>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        mesh.template getElements<std::get<sizeof... (Dimensions) - 1>(std::array<unsigned int, sizeof... (Dimensions)>{Dimensions...})>().size(),
                        initialValue);
                        initialValue);


        }
        }
@@ -284,12 +284,12 @@ public:


    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    std::tuple_element_t<DimIndex<ElementDim>(), std::tuple<DataTypes...>>& at(MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
    std::tuple_element_t<DimIndex<ElementDim>(), std::tuple<DataTypes...>>& at(MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
        return GetDataDim<ElementDim>().at(element.GetIndex());
        return GetDataDim<ElementDim>().at(element.getIndex());
    }
    }


    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    template <unsigned int ElementDim, unsigned int Dimension, typename IndexType, typename Real, unsigned int Reserve>
    std::tuple_element_t<DimIndex<ElementDim>(), std::tuple<DataTypes...>>& operator[](MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
    std::tuple_element_t<DimIndex<ElementDim>(), std::tuple<DataTypes...>>& operator[](MeshElement<Dimension, ElementDim, IndexType, Real, Reserve>& element) {
        return GetDataDim<ElementDim>()[element.GetIndex()];
        return GetDataDim<ElementDim>()[element.getIndex()];
    }
    }




Loading