Overview | Group | Tree | Graph | Index | Concepts |
IlcRCTextureFactoryI
is the abstract implementation base
class for a class that creates an object that is a subclass IlcRCTextureI
. Instances of subclasses of this class are
passed (via a handle class, IlcRCTextureFactory
) to an IlcResourceTexture
and used internally whenever a new
individual curve object is required. Whenever a user-defined subclass of
IlcRCTextureI
is defined, a corresponding
IlcRCTextureFactoryI
subclass must also be created. Its sole
purpose is to allocate the IlcRCTextureI
subclass.
For more information, see Texture Measurements.
See Also:
IlcResourceTexture, IlcRCTextureI
Constructor and Destructor Summary | |
---|---|
public | IlcRCTextureFactoryI(IloSolver solver) |
Method Summary | |
---|---|
public virtual IlcRCTexture | createRCTexture(IlcResourceConstraint, IlcResourceTexture) const |
public IloSolver | getSolver() const |
public virtual IlcBool | hasRealZeroCriticality() const |
Constructor and Destructor Detail |
---|
This constructor creates an instance of
IlcRCTextureFactoryI
. As the class is abstract, this
constructor should only be called by the constructor of subclasses of
IlcRCTextureFactoryI
.
Method Detail |
---|
This pure virtual method returns a pointer to a newly allocated subclass
of IlcRCTextureI
which represents the
individual curve of resource constraint rct
for the resource
associated with the resource texture texture
. This is the
function used internally by the IlcResourceTexture
object to generate an individual curve
for each resource constraint on a resource. The individual curve should be
allocated on the solver heap. See the example code in the documentation of
IlcRCTextureESTFactoryI
.
This member function returns the IloSolver
object passed in
the constructor of the invoking object.
This virtual method defines a characteristic of the IlcRCTextureI
subclasses created by the invoking factory. If
this function returns IlcTrue
, it means that when the
individual demand at some time point, t, for IlcRCTextureI
instances allocated by the invoking factory is
0, it will remain at 0 until there is a backtrack in the search. Otherwise,
if IlcFalse
is returned, a time point may become zero and then
some other value without backtracking.
For example, the IlcRCTextureProbabilisticI
object has this characteristic
because all possible time points at which the associated activity can
execute have a non-zero demand. When a time point is given a zero demand it
is because the possible time window of the resource constraint has been
pruned in a monotonic fashion. In contrast, the IlcRCTextureESTI
object does not have this characteristic.
For example, the time point corresponding to getStartMin() +
getDuration() + 1
has a zero individual demand. In a future search
state however, the minimum start time may be increased, resulting in a
non-zero demand for that time point.
This function is used to optimize the calculation of texture measurements
in the cases where it returns IlcTrue
.
The default return value for the method is IlcFalse
.