← Back to team overview

yade-dev team mailing list archive

[Branch ~yade-dev/yade/trunk] Rev 1785: 1. Remove InteractionHashMap

 

------------------------------------------------------------
revno: 1785
committer: Václav Šmilauer <vaclav@flux>
branch nick: trunk
timestamp: Sat 2009-11-14 13:37:19 +0100
message:
  1. Remove InteractionHashMap
removed:
  core/containers/InteractionHashMap.cpp
  core/containers/InteractionHashMap.hpp
modified:
  core/SConscript
  pkg/dem/PreProcessor/ModifiedTriaxialTest.cpp
  pkg/dem/PreProcessor/TriaxialTestWater.cpp
  pkg/snow/PreProcessor/SnowCreepTest.cpp
  pkg/snow/PreProcessor/SnowVoxelsLoader.cpp


--
lp:yade
https://code.launchpad.net/~yade-dev/yade/trunk

Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription.
=== modified file 'core/SConscript'
--- core/SConscript	2009-11-14 12:32:32 +0000
+++ core/SConscript	2009-11-14 12:37:19 +0000
@@ -26,7 +26,6 @@
 			'yade.cpp',
 			'containers/BodyRedirectionVector.cpp',
 			'containers/BodyVector.cpp',
-			'containers/InteractionHashMap.cpp',
 			'containers/InteractionVecMap.cpp',
 			]),
 		LIBS=env['LIBS']+[

=== removed file 'core/containers/InteractionHashMap.cpp'
--- core/containers/InteractionHashMap.cpp	2009-08-03 10:02:11 +0000
+++ core/containers/InteractionHashMap.cpp	1970-01-01 00:00:00 +0000
@@ -1,170 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "InteractionHashMap.hpp"
-
-InteractionHashMapIterator::InteractionHashMapIterator() : InteractionContainerIterator()
-{
-
-}
-
-
-InteractionHashMapIterator::~InteractionHashMapIterator()
-{
-
-}
-
-
-bool InteractionHashMapIterator::isDifferent(const InteractionContainerIterator& i)
-{
-	return (hmii != static_cast<const InteractionHashMapIterator&>(i).hmii );
-}
-
-
-void InteractionHashMapIterator::increment()
-{
-	++hmii;
-}
-
-
-void InteractionHashMapIterator::affect(const InteractionContainerIterator& i)
-{
-	hmii = static_cast<const InteractionHashMapIterator&>(i).hmii;
-}
-
-
-shared_ptr<Interaction> InteractionHashMapIterator::getValue()
-{
-	return (*hmii).second;
-}
-
-
-shared_ptr<InteractionContainerIterator> InteractionHashMapIterator::createPtr()
-{
-	return shared_ptr<InteractionContainerIterator>(new InteractionHashMapIterator());
-}
-
-
-/***********************************************************************/
-/***********************************************************************/
-/***********************************************************************/
-/***********************************************************************/
-
-InteractionHashMap::InteractionHashMap()
-{
-	clear();
-}
-
-
-InteractionHashMap::~InteractionHashMap()
-{
-}
-
-
-bool InteractionHashMap::insert(shared_ptr<Interaction>& i)
-{
-	boost::mutex::scoped_lock lock(drawloopmutex);
-
-	body_id_t id1 = i->getId1();
-	body_id_t id2 = i->getId2();
-	if (id1>id2)
-		swap(id1,id2);
-
-	return interactions.insert( IHashMap::value_type( pair<body_id_t,body_id_t>(id1,id2) , i )).second;
-}
-
-
-bool InteractionHashMap::insert(body_id_t id1,body_id_t id2)
-{
-	shared_ptr<Interaction> i(new Interaction(id1,id2) );
-	return insert(i);	
-}
-
-
-void InteractionHashMap::clear()
-{
-	boost::mutex::scoped_lock lock(drawloopmutex);
-
-	interactions.clear();
-	pendingErase.clear();
-}
-
-
-bool InteractionHashMap::erase(body_id_t id1,body_id_t id2)
-{
-	boost::mutex::scoped_lock lock(drawloopmutex);
-
-	if (id1>id2)
-		swap(id1,id2);
-
-	unsigned int oldSize = interactions.size();
-	pair<body_id_t,body_id_t> p(id1,id2);
-	unsigned int size = interactions.erase(p);
-
-	return size!=oldSize;
-
-}
-
-
-const shared_ptr<Interaction>& InteractionHashMap::find(body_id_t id1,body_id_t id2)
-{
-	if (id1>id2)
-		swap(id1,id2);
-
-	IHashMap::iterator hmii = interactions.find(pair<body_id_t,body_id_t>(id1,id2));
-	if (hmii!=interactions.end())
-		return (*hmii).second;
-	else
-	{
-		empty = shared_ptr<Interaction>(); 
-		return empty;
-	}
-}
-
-
-InteractionContainer::iterator InteractionHashMap::begin()
-{
-	shared_ptr<InteractionHashMapIterator> it(new InteractionHashMapIterator());
-	it->hmii   = interactions.begin();
-
-	return InteractionContainer::iterator(it);
-}
-
-
-InteractionContainer::iterator InteractionHashMap::end()
-{
-	shared_ptr<InteractionHashMapIterator> it(new InteractionHashMapIterator());
-	it->hmii   = interactions.end();
-
-	return InteractionContainer::iterator(it);
-}
-
-
-// void InteractionHashMap::eraseCurrentAndGotoNextPotential()
-// {
-// 	if (notAtEnd())
-// 	{
-// 		IHashMap::iterator tmpHmii=hmii;
-// 		++hmii;
-// 		interactions.erase(tmpHmii);
-// 	}
-// }
-// 
-// void InteractionHashMap::eraseCurrentAndGotoNext()
-// {
-// 	IHashMap::iterator tmpHmii=hmii;	
-// 	while (notAtEnd() && !((*hmii).second->isReal))
-// 		++hmii;	
-// 	interactions.erase(tmpHmii);
-// }
-
-unsigned int InteractionHashMap::size()
-{
-	return interactions.size();
-}
-YADE_PLUGIN((InteractionHashMap));
\ No newline at end of file

=== removed file 'core/containers/InteractionHashMap.hpp'
--- core/containers/InteractionHashMap.hpp	2009-07-31 09:07:59 +0000
+++ core/containers/InteractionHashMap.hpp	1970-01-01 00:00:00 +0000
@@ -1,95 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#pragma once
-
-#include<yade/core/InteractionContainer.hpp>
-#include<yade/core/Interaction.hpp>
-
-
-#if __GNUC__<4 || (__GNUC__==4 && __GNUC_MINOR__<=2)
-	// use this in gcc<=4.2
-	// see also the corresponding IHashMap typedef below
-	#include<ext/hash_map>
-#else
-	#include<tr1/unordered_map>
-#endif
-
-#include<vector>
-
-using namespace std;
-using namespace __gnu_cxx;
-
-
-
-
-struct eqPair
-{
-	bool operator()(const pair<body_id_t,body_id_t>& p1, const pair<body_id_t,body_id_t>& p2) const
-	{
-		return (p1.first==p2.first && p1.second==p2.second);
-	}
-};
-
-struct hashPair
-{
-	unsigned int operator()(const pair<body_id_t,body_id_t>& p) const
-	{
-		return ((unsigned int)p.first+(unsigned int)p.second)%182501621;
-	}
-};
-
-#if __GNUC__<4 || (__GNUC__==4 && __GNUC_MINOR__<=2)
-	typedef hash_map<pair<body_id_t,body_id_t>, shared_ptr<Interaction>, hashPair, eqPair > IHashMap;
-#else
-	typedef tr1::unordered_map<pair<body_id_t,body_id_t>, shared_ptr<Interaction>, hashPair, eqPair > IHashMap;
-#endif
-
-class InteractionHashMap : public InteractionContainer
-{
-	private :
-		IHashMap interactions;
-		shared_ptr<Interaction> empty;
-
-	public :
-		InteractionHashMap();
-		virtual ~InteractionHashMap();
-
-		virtual bool insert(body_id_t id1,body_id_t id2);
-		virtual bool insert(shared_ptr<Interaction>& i);
-		virtual void clear();
-		virtual bool erase(body_id_t id1,body_id_t id2);
-		virtual const shared_ptr<Interaction>& find(body_id_t id1,body_id_t id2);
-	
-		virtual InteractionContainer::iterator begin();
-	        virtual InteractionContainer::iterator end();
-	
-		virtual unsigned int size();
-
-	REGISTER_CLASS_NAME(InteractionHashMap);
-	REGISTER_BASE_CLASS_NAME(InteractionContainer);
-};
-
-class InteractionHashMapIterator : public InteractionContainerIterator 
-{
-	public :
-		IHashMap::iterator hmii;
-
-		InteractionHashMapIterator();
-		~InteractionHashMapIterator();
-
-		virtual bool isDifferent(const InteractionContainerIterator& i);
-		virtual void affect(const InteractionContainerIterator& i);
-		virtual void increment();
-		virtual shared_ptr<Interaction> getValue();
-		virtual shared_ptr<InteractionContainerIterator> createPtr();
-
-};
-
-REGISTER_SERIALIZABLE(InteractionHashMap);
-

=== modified file 'pkg/dem/PreProcessor/ModifiedTriaxialTest.cpp'
--- pkg/dem/PreProcessor/ModifiedTriaxialTest.cpp	2009-08-05 07:32:18 +0000
+++ pkg/dem/PreProcessor/ModifiedTriaxialTest.cpp	2009-11-14 12:37:19 +0000
@@ -181,8 +181,6 @@
 	rootBody = shared_ptr<MetaBody>(new MetaBody);
 	createActors(rootBody);
 	positionRootBody(rootBody);
-	rootBody->transientInteractions		= shared_ptr<InteractionContainer>(new InteractionHashMap);
-	rootBody->bodies 			= shared_ptr<BodyContainer>(new BodyRedirectionVector);
 
 	shared_ptr<Body> body;
 	

=== modified file 'pkg/dem/PreProcessor/TriaxialTestWater.cpp'
--- pkg/dem/PreProcessor/TriaxialTestWater.cpp	2009-11-06 17:00:44 +0000
+++ pkg/dem/PreProcessor/TriaxialTestWater.cpp	2009-11-14 12:37:19 +0000
@@ -185,7 +185,6 @@
 	createActors(rootBody);
 	positionRootBody(rootBody);
 
-	//rootBody->transientInteractions		= shared_ptr<InteractionContainer>(new InteractionHashMap);
 
 	shared_ptr<Body> body;
 	

=== modified file 'pkg/snow/PreProcessor/SnowCreepTest.cpp'
--- pkg/snow/PreProcessor/SnowCreepTest.cpp	2009-08-05 07:32:18 +0000
+++ pkg/snow/PreProcessor/SnowCreepTest.cpp	2009-11-14 12:37:19 +0000
@@ -57,7 +57,6 @@
 #include<yade/pkg-common/PhysicalParametersMetaEngine.hpp>
 
 #include<yade/core/BodyRedirectionVector.hpp>
-#include<yade/core/InteractionHashMap.hpp>
 
 #include<yade/pkg-dem/Shop.hpp>
 

=== modified file 'pkg/snow/PreProcessor/SnowVoxelsLoader.cpp'
--- pkg/snow/PreProcessor/SnowVoxelsLoader.cpp	2009-09-14 12:46:08 +0000
+++ pkg/snow/PreProcessor/SnowVoxelsLoader.cpp	2009-11-14 12:37:19 +0000
@@ -50,7 +50,6 @@
 #include<yade/pkg-common/PhysicalParametersMetaEngine.hpp>
 
 #include<yade/core/BodyRedirectionVector.hpp>
-#include<yade/core/InteractionHashMap.hpp>
 #include<yade/pkg-snow/ElawSnowLayersDeformation.hpp>
 
 #include<yade/pkg-dem/Shop.hpp>