Skip to content
Snippets Groups Projects
Commit 0dfbe03a authored by Oliver Sander's avatar Oliver Sander
Browse files

test compiles again with new EntityPointer stuff, but it doesn't run yet

[[Imported from SVN: r1945]]
parent b242a98c
Branches
Tags
No related merge requests found
......@@ -50,7 +50,6 @@ Dune::OneDGridLevelIteratorFactory<1>::lbegin (const OneDGrid<1,1> * g, int leve
DUNE_THROW(GridError, "LevelIterator in nonexisting level " << level << " requested!");
OneDGridLevelIterator<1,All_Partition, const Dune::OneDGrid<1,1> > it(g->vertices[level].begin);
//it.setToTarget(g->vertices[level].begin, level);
return it;
}
......
......@@ -43,8 +43,6 @@ namespace Dune {
typename GridImp::template codim<cc>::EntityPointer
OneDGridEntity<0,dim,GridImp>::entity ( int i ) const
{
/** \todo Remove this const cast */
//OneDGridEntity<0,dim,GridImp>* nonconst_this = const_cast< OneDGridEntity<0,dim,GridImp>*>(this);
return OneDGridLevelIterator<cc,All_Partition,GridImp>(OneDGridSubEntityFactory<cc,dim,GridImp>::get(this->target_, i));
}
......
......@@ -29,8 +29,6 @@ namespace Dune {
FieldVector<double, 1> pos_;
//FieldVector<OneDCType, dim> localFatherCoords_;
//! entity number
int index_;
......@@ -52,7 +50,9 @@ namespace Dune {
public:
OneDEntityImp(int level) : level_(level), pred_(NULL), succ_(NULL)
{}
{
sons_[0] = sons_[1] = NULL;
}
bool isLeaf() const {
return sons_[0]==NULL && sons_[1]==NULL;
......@@ -153,6 +153,9 @@ namespace Dune {
//! used for access to degrees of freedom
int index () const {return target_->index_;}
/** \todo So far only returns index() */
int globalIndex() const {return index();}
/*! Intra-element access to entities of codimension cc > codim. Return number of entities
with codimension cc.
*/
......@@ -235,11 +238,6 @@ namespace Dune {
typedef typename GridImp::template codim<0>::IntersectionIterator IntersectionIterator;
typedef typename GridImp::template codim<0>::HierarchicIterator HierarchicIterator;
//! Constructor
OneDGridEntity(int level) {
DUNE_THROW(NotImplemented, "OneDGridEntity(int level)");
}
//! Default Constructor
OneDGridEntity() {};
......@@ -331,12 +329,12 @@ namespace Dune {
if (level()<=maxlevel) {
typename OneDGridHierarchicIterator<GridImp>::StackEntry se;
se.element = target_;
se.level = level();
it.elemStack.push(se);
// typename OneDGridHierarchicIterator<GridImp>::StackEntry se;
// se.element = target_;
// se.level = level();
// it.elemStack.push(se);
#if 0
#if 1
// Load sons of old target onto the iterator stack
if (!isLeaf()) {
typename OneDGridHierarchicIterator<GridImp>::StackEntry se0;
......@@ -360,7 +358,7 @@ namespace Dune {
//! Returns iterator to one past the last son
HierarchicIterator hend (int maxlevel) const {
return HierarchicIterator(maxlevel);;
return HierarchicIterator(maxlevel);
}
// ***************************************************************
......
......@@ -122,7 +122,7 @@ namespace Dune {
/** \brief Return reference element corresponding to this element.
*/
static const Dune::Geometry<mydim,mydim,GridImp,Dune::OneDGridGeometry>& refelem () {
std::cout << "Calling unimplemented method OneDGridGeometry::refelem()" << std::endl;
DUNE_THROW(NotImplemented, "Calling unimplemented method OneDGridGeometry::refelem()");
}
/** \brief Return the element type identifier
......
......@@ -26,6 +26,7 @@ namespace Dune {
*/
template<class GridImp>
class OneDGridHierarchicIterator :
public Dune::OneDGridEntityPointer <0,GridImp>,
public HierarchicIteratorDefault <GridImp, OneDGridHierarchicIterator>
{
enum { dim = GridImp::dimension };
......@@ -38,10 +39,10 @@ namespace Dune {
int level;
};
typedef typename GridImp::template codim<0>::Entity Entity;
public:
typedef typename GridImp::template codim<0>::Entity Entity;
//! the default Constructor
OneDGridHierarchicIterator(int maxlevel) : elemStack() {
maxlevel_ = maxlevel;
......
......@@ -11,39 +11,6 @@
namespace Dune {
template<int codim, class GridImp>
class OneDGridEntityPointer
: public EntityPointerDefault <codim, GridImp, Dune::OneDGridEntityPointer<codim,GridImp> >
{
enum { dim = GridImp::dimension };
public:
typedef typename GridImp::template codim<codim>::Entity Entity;
//! equality
bool equals(const OneDGridEntityPointer<codim,GridImp>& other) const {
return other.target_ == target_;
}
//! dereferencing
Entity& dereference() const {return virtualEntity_;}
//! ask for level of entity
int level () const {return target_->level();}
protected:
/** \brief Constructor from a given iterator */
OneDGridEntityPointer(OneDEntityImp<dim-codim>* it)
/*: virtualEntity_()*/ {
target_ = it;
virtualEntity_.setToTarget(it);
};
protected:
mutable OneDEntityWrapper<codim,GridImp::dimension,GridImp> virtualEntity_;
OneDEntityImp<dim-codim>* target_;
};
//**********************************************************************
......
......@@ -24,6 +24,7 @@ namespace Dune {
*/
template<class GridImp>
class OneDGridIntersectionIterator :
public Dune::OneDGridEntityPointer<0, GridImp>,
public IntersectionIteratorDefault <GridImp, OneDGridIntersectionIterator>
{
enum { dim=GridImp::dimension };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment