Cone Class Reference

The in-memory representation of a generic cone Specific cone types are derived from this generic class. More...

#include <OSInstance.h>

Inheritance diagram for Cone:
Inheritance graph
[legend]
Collaboration diagram for Cone:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Cone ()
 The Cone class constructor.
virtual ~Cone ()
 The Cone class destructor.
virtual std::string getConeName ()
virtual std::string getConeInXML ()=0
 Write a Cone object in XML format.
bool IsEqual (Cone *that)
 A function to check for the equality of two objects.
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class.
bool deepCopyFrom (Cone *that)
 A function to make a deep copy of an instance of this class.

Public Attributes

int numberOfRows
 Every cone has (at least) two dimensions; no distinction is made between vector cones and matrix cones.
int numberOfColumns
int numberOfOtherIndexes
 Cones can also be formed by Multidimensional tensors.
int * otherIndexes
ENUM_CONE_TYPE coneType
 The type of the cone.
std::string name
 The cone can have a name for easier identification.
int idx
 cones are referenced by an (automatically created) index

Detailed Description

The in-memory representation of a generic cone Specific cone types are derived from this generic class.

Definition at line 530 of file OSInstance.h.


Constructor & Destructor Documentation

Cone::Cone (  ) 

The Cone class constructor.

Definition at line 987 of file OSInstance.cpp.

Cone::~Cone (  )  [virtual]

The Cone class destructor.

Definition at line 1000 of file OSInstance.cpp.


Member Function Documentation

std::string Cone::getConeName (  )  [virtual]
std::string Cone::getConeInXML (  )  [pure virtual]

Write a Cone object in XML format.

This is used by OSiLWriter to write a <cone> element.

Returns:
the cone and its children as an XML string.

Implemented in NonnegativeCone, NonpositiveCone, OrthantCone, PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, CopositiveMatricesCone, CompletelyPositiveMatricesCone, ProductCone, and IntersectionCone.

Definition at line 7819 of file OSInstance.cpp.

bool Cone::IsEqual ( Cone that  ) 
bool Cone::setRandom ( double  density,
bool  conformant,
int  iMin,
int  iMax 
)

A function to make a random instance of this class.

Parameters:
density,: corresponds to the probability that a particular child element is created
conformant,: if true enforces side constraints not enforceable in the schema (e.g., agreement of "numberOfXXX" attributes and <XXX> children)
iMin,: lowest index value (inclusive) that a variable reference in this matrix can take
iMax,: greatest index value (inclusive) that a variable reference in this matrix can take

Reimplemented in NonnegativeCone, NonpositiveCone, OrthantCone, PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, CopositiveMatricesCone, CompletelyPositiveMatricesCone, ProductCone, IntersectionCone, DualCone, and PolarCone.

bool Cone::deepCopyFrom ( Cone that  ) 

A function to make a deep copy of an instance of this class.

Parameters:
that,: the instance from which information is to be copied
Returns:
whether the copy was created successfully

Reimplemented in NonnegativeCone, NonpositiveCone, OrthantCone, PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, CopositiveMatricesCone, CompletelyPositiveMatricesCone, ProductCone, IntersectionCone, DualCone, and PolarCone.


Member Data Documentation

Every cone has (at least) two dimensions; no distinction is made between vector cones and matrix cones.

Reimplemented in PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, ProductCone, IntersectionCone, DualCone, and PolarCone.

Definition at line 543 of file OSInstance.h.

Cones can also be formed by Multidimensional tensors.

(the Kronecker product, for instance, can be thought of as a four-dimensional tensor). We therefore allow additional dimensions, although they have not yet been implemented.

Reimplemented in PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, ProductCone, IntersectionCone, DualCone, and PolarCone.

Definition at line 552 of file OSInstance.h.

The type of the cone.

Reimplemented in PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, ProductCone, IntersectionCone, DualCone, and PolarCone.

Definition at line 556 of file OSInstance.h.

std::string Cone::name

The cone can have a name for easier identification.

Definition at line 559 of file OSInstance.h.

int Cone::idx

cones are referenced by an (automatically created) index

Reimplemented in PolyhedralCone, QuadraticCone, RotatedQuadraticCone, SemidefiniteCone, ProductCone, IntersectionCone, DualCone, and PolarCone.

Definition at line 562 of file OSInstance.h.


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

Generated on 5 Jul 2015 by  doxygen 1.6.1