MineLink
 All Data Structures Functions Variables Pages
delphos::BenchPhaseDifferencePrecedence Class Reference

Defines maximum difference in height between consecutive phase-bench. More...

#include <sinking.h>

Inheritance diagram for delphos::BenchPhaseDifferencePrecedence:
Inheritance graph
Collaboration diagram for delphos::BenchPhaseDifferencePrecedence:
Collaboration graph

Public Member Functions

 BenchPhaseDifferencePrecedence (delphos::BlockModel &bm, const string &phase_attr, const double vertical_diff, const vector< pair< int, int > > &phases)
 Creates a new Bench-Phase Difference Precedence object. More...
 
 BenchPhaseDifferencePrecedence (delphos::BlockModel &bm, const string &phase_attr, const double vertical_diff, const vector< pair< int, int > > &phases, RampPrecedence *rprec)
 Creates a new Bench-Phase Difference Precedence object. More...
 
virtual void CreateArcs ()
 Creates the arcs of the Precedence object according to the parameters loaded into the instance.
 
const string GetPhaseAttribute () const
 Returns the name of the phase attribute submitted to the instance.
 
const double GetDifference () const
 Returns the value of the difference submitted to the instance.
 
vector< pair< int, int > > GetConsecutivePhasesContainer () const
 Returns the container of the consecutive phases pairs.
 
RampPrecedenceGetRampPrecedence () const
 Returns a pointer to the submitted RampPrecedence object. More...
 
- Public Member Functions inherited from delphos::Precedence
 Precedence (BlockModel &bm)
 Creates a new precedence with no arcs. More...
 
 Precedence (delphos::Precedence &other)
 Copy constructor.
 
virtual ~Precedence ()
 Destructor.
 
Arc operator[] (const delphos::BlockIndexType &index) const
 Retrieves the Arc instance with given index. More...
 
Arc GetArc (const delphos::BlockIndexType &index) const
 Retrieves the Arc instance with given index. More...
 
void AddArc (const delphos::Arc &new_arc)
 Adds a new arc to the precedence. More...
 
void AddArc (const delphos::BlockIndexType &first, const delphos::BlockIndexType &second)
 Adds a new arc to the precedence. More...
 
void Clear ()
 Deletes all arcs. More...
 
const delphos::BlockIndexType Size () const
 Returns the size (number of arcs) in the precedence. More...
 
const delphos::BlockIndexType GetSize () const
 Returns the size (number of arcs) in the precedence. More...
 
- Public Member Functions inherited from delphos::BlockModelEntity
 BlockModelEntity (delphos::BlockModel &bm)
 Creates a new block instance associated to a given block model. More...
 
delphos::BlockModelGetBlockModel ()
 Retrieves the block model to which the entity is associated. More...
 
const delphos::BlockModelGetBlockModel () const
 Retrieves the block model to which the entity is associated. More...
 

Detailed Description

Defines maximum difference in height between consecutive phase-bench.

Given a data column on the BlockModel that will represent the phase of the corresponding blocks, a maximum height value and a set of correspondence between some of the values on that column that represents the pairs of phases that are consecutive, we define the maximum difference between benches on consecutive phases as a precedence relationship between the blocks (or some of them) on the corresponding phase-bench. This relationship is valid at any period.

Constructor & Destructor Documentation

delphos::BenchPhaseDifferencePrecedence::BenchPhaseDifferencePrecedence ( delphos::BlockModel bm,
const string &  phase_attr,
const double  vertical_diff,
const vector< pair< int, int > > &  phases 
)

Creates a new Bench-Phase Difference Precedence object.

In this case, arcs will be created between all the blocks on the corresponding bench-phases. That is, if a block on the lower bench \(b_l\) has phase \(p_{b_l}\) then it has an arc to every block on the upper bench (first bench that is at least the specified difference units above the lower bench) \(b_{u}\) if and only if their phases are consecutive.

Parameters
bmThe BlockModel containing the desired blocks.
phase_attrThe name of the column on the BlockModel bm that represent the blocks phases.
vertical_diffValue of the maximum vertical difference allowed between benches on consecutive phases.
phasesContainer with the pairs of values that indicates which phases are consecutive. By convention we set the order in the following manner \((p_i,p_j)\), where that phase \(p_i\) precedes the phase \(p_j\).
delphos::BenchPhaseDifferencePrecedence::BenchPhaseDifferencePrecedence ( delphos::BlockModel bm,
const string &  phase_attr,
const double  vertical_diff,
const vector< pair< int, int > > &  phases,
RampPrecedence rprec 
)

Creates a new Bench-Phase Difference Precedence object.

In this case, a RampPrecedence object is passed to the instance. As convention we assume that every bench-phase has at least one access defined on the RampPrecedence. So in this case arcs will only be created between the accesses of the lower bench-phase and the leaves (last blocks to be extracted) of the upper bench-phase. In this sense the amount of arcs created is minimal.

Parameters
bmThe BlockModel containing the desired blocks.
phase_attrThe name of the column on the BlockModel bm that represent the blocks phases.
vertical_diffValue of the maximum vertical difference allowed between benches on consecutive phases.
phasesContainer with that pairs of values that indicates which phases are consecutive. By convention we set the order in the following manner \((p_i,p_j)\), where that phase \(p_i\) precedes the phase \(p_j\).
rprecPointer to a RampPrecedence object. As stated above it is assumed that every bench-phase has at least one access defined and the arcs of this object have been already created.

Member Function Documentation

RampPrecedence * delphos::BenchPhaseDifferencePrecedence::GetRampPrecedence ( ) const

Returns a pointer to the submitted RampPrecedence object.

If no RampPrecedence was submitted to the constructor, then it returns NULL.


The documentation for this class was generated from the following files: