8 #include "../../data_structures/precs/precs.h"
9 #include "../../data_structures/bm/blockmodel.h"
10 #include "../../data_structures/bm/blocksel.h"
91 const double& NeighborDistance()
const;
99 const double& GetNeighborDistance()
const;
106 void AddRamp(
const delphos::BlockIndexType& block_id);
115 void AddRamp(
const double& x,
const double& y,
const double& z);
124 bool IsRamp(
const delphos::BlockIndexType& block_id)
const;
133 bool IsRamp(
const double& x,
const double& y,
const double& z)
const;
141 void RemoveRamp(
const delphos::BlockIndexType& block_id);
149 void RemoveRamp(
const double& x,
const double& y,
const double& z);
178 const string& NeighborAttribute()
const;
186 const string& GetNeighborAttribute()
const;
193 delphos::BlockIndexType BlockRamp(
const BlockIndexType& block_id)
const;
199 delphos::BlockIndexType GetBlockRamp(
const BlockIndexType& block_id)
const;
217 vector<delphos::BlockIndexType> * GetAccesses()
const;
224 vector<BlockIndexType>* _ramps;
226 const string _neighbor_attr;
228 typedef pair<pair<BlockIndexType,BlockIndexType>,
double> Edge;
229 vector<Edge> * CreateNeighborEdges();
230 typedef pair<BlockIndexType,BlockIndexType> RampAssign;
231 vector<RampAssign>* _rampaccess;
Abstracts a set of blocks (subset of a blockmodel).
Definition: blocksel.h:33
static double ZTolerance
The tolerance to determine if 2 blocks are neighbours.
Definition: ramps.h:32
horizontal precedence class with utility methods.
Definition: ramps.h:25
Abstracts a container of blocks as a table with arbitrary number of attributes that can be accessed b...
Definition: blockmodel.h:62
Implements a precedence as an explicit set of arcs between blocks. Provides utility functions...
Definition: precs.h:22