36#ifndef VERTEXMESHOPERATIONRECORDER_HPP_
37#define VERTEXMESHOPERATIONRECORDER_HPP_
41#include <boost/serialization/base_object.hpp>
42#include <boost/serialization/vector.hpp>
44#include "CellDivisionInfo.hpp"
46#include "EdgeHelper.hpp"
47#include "EdgeOperation.hpp"
48#include "T1SwapInfo.hpp"
49#include "T2SwapInfo.hpp"
50#include "T3SwapInfo.hpp"
51#include "VertexElement.hpp"
63template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
76 template <
class Archive>
77 void serialize(Archive& archive,
const unsigned int version)
217 const std::pair<unsigned, unsigned> mergedNodesPair,
218 const bool elementIndexIsRemapped =
false);
233 const unsigned edgeIndex,
234 const double insertedNodeRelPosition,
235 const bool elementIndexIsRemapped =
false);
254 const unsigned edgeIndex);
263 const unsigned nodeIndex);
void RecordNewEdgeOperation(VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, const unsigned edgeIndex)
void SetEdgeHelper(EdgeHelper< SPACE_DIM > *pEdgeHelper)
std::vector< T1SwapInfo< SPACE_DIM > > mT1Swaps
void RecordT1Swap(T1SwapInfo< SPACE_DIM > &rSwapInfo)
std::vector< T3SwapInfo< SPACE_DIM > > mT3Swaps
EdgeHelper< SPACE_DIM > * mpEdgeHelper
std::vector< CellDivisionInfo< SPACE_DIM > > GetCellDivisionInfo() const
const std::vector< EdgeOperation > & GetEdgeOperations()
std::vector< EdgeOperation > mEdgeOperations
void RecordEdgeMergeOperation(VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, const unsigned nodeIndex)
~VertexMeshOperationRecorder()
void RecordCellDivisionInfo(CellDivisionInfo< SPACE_DIM > &rDivisionInfo)
void RecordEdgeSplitOperation(VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, const unsigned edgeIndex, const double insertedNodeRelPosition, const bool elementIndexIsRemapped=false)
std::vector< T1SwapInfo< SPACE_DIM > > GetT1SwapsInfo() const
void RecordCellDivideOperation(const std::vector< unsigned > &rOldIds, VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement1, VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement2)
void serialize(Archive &archive, const unsigned int version)
std::vector< CellDivisionInfo< SPACE_DIM > > mCellDivisions
std::vector< T3SwapInfo< SPACE_DIM > > GetT3SwapsInfo() const
void RecordT3Swap(T3SwapInfo< SPACE_DIM > &rSwapInfo)
std::vector< T2SwapInfo< SPACE_DIM > > mT2Swaps
void RecordNodeMergeOperation(const std::vector< unsigned > oldIds, VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, const std::pair< unsigned, unsigned > mergedNodesPair, const bool elementIndexIsRemapped=false)
void ClearCellDivisionInfo()
friend class boost::serialization::access
VertexMeshOperationRecorder()
std::vector< T2SwapInfo< SPACE_DIM > > GetT2SwapsInfo() const
void ClearEdgeOperations()
void RecordT2Swap(T2SwapInfo< SPACE_DIM > &rSwapInfo)