Adaptagrams
Public Member Functions | List of all members
dialect::ProjSeq Class Reference

#include <constraints.h>

Collaboration diagram for dialect::ProjSeq:
Collaboration graph

Public Member Functions

 ProjSeq (void)
 Default constructor.
 
void addProjection (SepCoSet sepCos, vpsc::Dim dim)
 Add a new set of SepCos, ensuring monotonicity by uniting with the previous set of constraints in the same dimension, if any. More...
 
Projection_SP nextProjection (void)
 Get the next Projection, if any. More...
 
void noteStresschange (double dS)
 Note a stress change.
 
std::string toString (void) const
 Write a string representation.
 
ProjSeqoperator+= (const ProjSeq &rhs)
 When another ProjSeq is added to this one, we simply add each Projection from the other one to this one, as usual. Thus is monotonicity maintained, and this ProjSeq's pointer is left in place.
 
SepCoSet getAllConstraints (void) const
 Get the set of all constraints, in both dimensions.
 
void reset (void)
 Reset to start of sequence.
 
double violation (void) const
 Sum the violations of all SepCos in the final sets.
 

Detailed Description

Projection Sequence. Manages a sequence of VPSC projections onto a monotonially increasing set of separation constraints.

Member Function Documentation

◆ addProjection()

void ProjSeq::addProjection ( SepCoSet  sepCos,
vpsc::Dim  dim 
)

Add a new set of SepCos, ensuring monotonicity by uniting with the previous set of constraints in the same dimension, if any.

Parameters
[in]SepCosThe new set of SepCos to be added.
[in]dimThe dimension in which the new set is to operate.

Referenced by operator+=().

Here is the caller graph for this function:

◆ nextProjection()

Projection_SP ProjSeq::nextProjection ( void  )

Get the next Projection, if any.

Returns
The next Projection if there is another one, else nullptr.

Referenced by dialect::Graph::applyProjSeq().

Here is the caller graph for this function:

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