#include <TeProxMatrixConstructionStrategy.h>

Definition at line 210 of file TeProxMatrixConstructionStrategy.h.
Public Member Functions | |
| virtual bool | Construct (TeProxMatrixImplementation *imp) |
| Construct the proximity matrix through local distance strategy. | |
| TeProxMatrixConstructionParams & | constructionParams () |
| Returns the construction params. | |
| virtual bool | IsEqual (const TeProxMatrixConstructionStrategy< Set > &other) const |
| Verify if the type of the strategy, the object set and its geometry representation are equal. | |
| Set * | objects () |
| Get the objects used to construct the matrix. | |
| TeProxMatrixLocalDistanceStrategy < Set > & | operator= (const TeProxMatrixLocalDistanceStrategy< Set > &rhs) |
| Assignment operator. | |
| bool | operator== (const TeProxMatrixLocalDistanceStrategy< Set > &s) const |
| Equal operator. | |
| void | setSTObjects (Set *objects, TeGeomRep geomRep) |
| Set the set of objects and its geometry representation. | |
| TeProxMatrixLocalDistanceStrategy (const TeProxMatrixLocalDistanceStrategy< Set > &st) | |
| Copy constructor. | |
| TeProxMatrixLocalDistanceStrategy (Set *objects, TeGeomRep geomRep, double max_distance) | |
| Constructor. | |
| TeProxMatrixLocalDistanceStrategy () | |
| Constructor. | |
| virtual | ~TeProxMatrixLocalDistanceStrategy () |
| Destructor. | |
Protected Attributes | |
| Set * | objects_ |
| Set of objetcs used to construct the matrix. | |
| TeProxMatrixConstructionParams | params_ |
| Construction paramas. | |
| TeProxMatrixLocalDistanceStrategy< Set >::TeProxMatrixLocalDistanceStrategy | ( | ) | [inline] |
Definition at line 383 of file TeProxMatrixConstructionStrategy.h.
00383 : 00384 TeProxMatrixConstructionStrategy<Set> (0, TeGEOMETRYNONE, TeDistanceStrategy) 00385 {}
| TeProxMatrixLocalDistanceStrategy< Set >::TeProxMatrixLocalDistanceStrategy | ( | Set * | objects, | |
| TeGeomRep | geomRep, | |||
| double | max_distance | |||
| ) | [inline] |
Definition at line 389 of file TeProxMatrixConstructionStrategy.h.
00389 : 00390 TeProxMatrixConstructionStrategy<Set>(objects, geomRep, TeDistanceStrategy) 00391 { 00392 TeProxMatrixConstructionStrategy<Set>::params_.max_distance_ = max_distance; 00393 }
| TeProxMatrixLocalDistanceStrategy< Set >::TeProxMatrixLocalDistanceStrategy | ( | const TeProxMatrixLocalDistanceStrategy< Set > & | st | ) | [inline] |
Definition at line 397 of file TeProxMatrixConstructionStrategy.h.
00397 : 00398 TeProxMatrixConstructionStrategy<Set>(st) 00399 {}
| virtual TeProxMatrixLocalDistanceStrategy< Set >::~TeProxMatrixLocalDistanceStrategy | ( | ) | [inline, virtual] |
| bool TeProxMatrixLocalDistanceStrategy< Set >::Construct | ( | TeProxMatrixImplementation * | imp | ) | [inline, virtual] |
Implements TeProxMatrixConstructionStrategy< Set >.
Definition at line 402 of file TeProxMatrixConstructionStrategy.h.
References TeProxMatrixAttributes::CentroidDistance(), TeProxMatrixImplementation::connectObjects(), TeSingleton< TePrecision >::instance(), TeProgress::instance(), TeProxMatrixImplementation::isConnected(), TeProgressBase::reset(), TePrecision::setPrecision(), TeProgressBase::setProgress(), TeProgressBase::setTotalSteps(), TeDistance(), TeGetPrecision(), TeBox::x1(), TeBox::x2(), TeBox::y1(), and TeBox::y2().
Referenced by TeProxMatrixOpenNetworkStrategy::Construct(), and TeProxMatrixClosedNetworkStrategy::Construct().
00403 { 00404 if (imp == 0) 00405 return false; 00406 00407 // Iterate over all selected objects, selecting their neighbours 00408 TeSTElementSet::iterator itobj1 = TeProxMatrixConstructionStrategy<Set>::objects_->begin(); 00409 00410 // ----- progress bar 00411 int step = 0; 00412 if(TeProgress::instance()) 00413 TeProgress::instance()->setTotalSteps(TeProxMatrixConstructionStrategy<Set>::objects_->numSTInstance()); 00414 // ----- 00415 00416 TeProjection* proj = 0; 00417 if(TeProxMatrixConstructionStrategy<Set>::objects_->theme()) 00418 proj = TeProxMatrixConstructionStrategy<Set>::objects_->theme()->layer()->projection(); 00419 else if(TeProxMatrixConstructionStrategy<Set>::objects_->getLayer()) 00420 proj = TeProxMatrixConstructionStrategy<Set>::objects_->getLayer()->projection(); 00421 00422 TePrecision::instance().setPrecision(TeGetPrecision(proj)); 00423 double max_d = TeProxMatrixConstructionStrategy<Set>::params_.max_distance_; 00424 00425 while ( itobj1 != TeProxMatrixConstructionStrategy<Set>::objects_->end()) 00426 { 00427 // Gets the possible objects from RTree in the element set 00428 vector<TeSTInstance*> result; 00429 TeBox b = (*itobj1).getGeometries().getBox(); 00430 TeBox bAux(b.x1()-max_d, b.y1()-max_d, b.x2()+max_d, b.y2()+max_d); 00431 00432 TeProxMatrixConstructionStrategy<Set>::objects_->search(bAux, result); 00433 00434 string object_id1 = (*itobj1).getObjectId(); 00435 TeCoord2D coord1 = itobj1->getCentroid(); 00436 for(unsigned int index =0; index<result.size(); ++index) 00437 { 00438 string object_id2 = result[index]->getObjectId(); 00439 if(object_id1==object_id2) 00440 continue; 00441 00442 TeCoord2D coord2 = result[index]->getCentroid(); 00443 double dist = TeDistance(coord1, coord2); 00444 if(dist <= max_d) 00445 { 00446 if(!imp->isConnected (object_id1,object_id2)) 00447 { 00448 TeProxMatrixAttributes attr; 00449 attr.CentroidDistance (dist); 00450 imp->connectObjects (object_id1, object_id2, attr); 00451 imp->connectObjects (object_id2, object_id1, attr); 00452 } 00453 } 00454 } 00455 00456 if(TeProgress::instance()) 00457 { 00458 if (TeProgress::instance()->wasCancelled()) 00459 { 00460 TeProgress::instance()->reset(); 00461 return false; 00462 } 00463 else 00464 TeProgress::instance()->setProgress(step); 00465 } 00466 ++step; 00467 ++itobj1; 00468 } 00469 00470 if (TeProgress::instance()) 00471 TeProgress::instance()->reset(); 00472 return true; 00473 }
| TeProxMatrixConstructionParams& TeProxMatrixConstructionStrategy< Set >::constructionParams | ( | ) | [inline, inherited] |
| virtual bool TeProxMatrixConstructionStrategy< Set >::IsEqual | ( | const TeProxMatrixConstructionStrategy< Set > & | other | ) | const [virtual, inherited] |
| Set * TeProxMatrixConstructionStrategy< Set >::objects | ( | ) | [inline, inherited] |
| TeProxMatrixLocalDistanceStrategy< Set > & TeProxMatrixLocalDistanceStrategy< Set >::operator= | ( | const TeProxMatrixLocalDistanceStrategy< Set > & | rhs | ) | [inline] |
Definition at line 482 of file TeProxMatrixConstructionStrategy.h.
References TeProxMatrixConstructionStrategy< Set >::objects_, and TeProxMatrixConstructionStrategy< Set >::params_.
00483 { 00484 if ( this != &rhs ) 00485 { 00486 TeProxMatrixConstructionStrategy<Set>::objects_ = rhs.objects_; 00487 TeProxMatrixConstructionStrategy<Set>::params_ = rhs.params_; 00488 } 00489 return *this; 00490 }
| bool TeProxMatrixLocalDistanceStrategy< Set >::operator== | ( | const TeProxMatrixLocalDistanceStrategy< Set > & | s | ) | const [inline] |
Definition at line 476 of file TeProxMatrixConstructionStrategy.h.
00477 { 00478 return ( TeProxMatrixConstructionStrategy<Set>::IsEqual(s)); 00479 }
| void TeProxMatrixConstructionStrategy< Set >::setSTObjects | ( | Set * | objects, | |
| TeGeomRep | geomRep | |||
| ) | [inherited] |
Set * TeProxMatrixConstructionStrategy< Set >::objects_ [protected, inherited] |
Definition at line 104 of file TeProxMatrixConstructionStrategy.h.
Referenced by TeProxMatrixLocalDistanceStrategy< Set >::operator=().
TeProxMatrixConstructionParams TeProxMatrixConstructionStrategy< Set >::params_ [protected, inherited] |
Definition at line 107 of file TeProxMatrixConstructionStrategy.h.
Referenced by TeProxMatrixLocalDistanceStrategy< Set >::operator=().
1.5.3