GCS Namespace Reference

Classes

class  Arc
 
class  ArcOfEllipse
 
class  ArcOfHyperbola
 
class  ArcOfParabola
 
class  BSpline
 
class  Circle
 
class  Constraint
 
class  ConstraintAngleViaPoint
 
class  ConstraintCurveValue
 
class  ConstraintDifference
 
class  ConstraintEllipseTangentLine
 
class  ConstraintEqual
 
class  ConstraintEqualFocalDistance
 
class  ConstraintEqualLineLength
 
class  ConstraintEqualMajorAxesConic
 
class  ConstraintInternalAlignmentPoint2Ellipse
 
class  ConstraintInternalAlignmentPoint2Hyperbola
 
class  ConstraintL2LAngle
 
class  ConstraintMidpointOnLine
 
class  ConstraintP2LDistance
 
class  ConstraintP2PAngle
 
class  ConstraintP2PDistance
 
class  ConstraintParallel
 
class  ConstraintPerpendicular
 
class  ConstraintPointOnEllipse
 
class  ConstraintPointOnHyperbola
 
class  ConstraintPointOnLine
 
class  ConstraintPointOnParabola
 
class  ConstraintPointOnPerpBisector
 
class  ConstraintSnell
 
class  ConstraintTangentCircumf
 
class  Curve
 
class  DeriVector2
 Class DeriVector2 holds a vector value and its derivative on the parameter that the derivatives are being calculated for now. More...
 
class  Ellipse
 
class  Hyperbola
 
class  Line
 
class  MajorRadiusConic
 
class  Parabola
 
class  Point
 
class  SolverReportingManager
 
class  SubSystem
 
class  System
 

Typedefs

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS > Graph
 
typedef std::map< double *, double > MAP_pD_D
 
typedef std::map< double *, intMAP_pD_I
 
typedef std::map< double *, double * > MAP_pD_pD
 
typedef std::set< intSET_I
 
typedef std::set< double * > SET_pD
 
typedef std::vector< double > VEC_D
 
typedef std::vector< intVEC_I
 
typedef std::vector< PointVEC_P
 
typedef std::vector< double * > VEC_pD
 

Enumerations

enum  Algorithm { BFGS = 0 , LevenbergMarquardt = 1 , DogLeg = 2 }
 
enum  ConstraintType {
}
 
enum  DebugMode { NoDebug = 0 , Minimal = 1 , IterationLevel = 2 }
 
enum  DogLegGaussStep { FullPivLU = 0 , LeastNormFullPivLU = 1 , LeastNormLdlt = 2 }
 
enum  InternalAlignmentType {
  EllipsePositiveMajorX = 0 , EllipsePositiveMajorY = 1 , EllipseNegativeMajorX = 2 , EllipseNegativeMajorY = 3 ,
  EllipsePositiveMinorX = 4 , EllipsePositiveMinorY = 5 , EllipseNegativeMinorX = 6 , EllipseNegativeMinorY = 7 ,
  EllipseFocus2X = 8 , EllipseFocus2Y = 9 , HyperbolaPositiveMajorX = 10 , HyperbolaPositiveMajorY = 11 ,
  HyperbolaNegativeMajorX = 12 , HyperbolaNegativeMajorY = 13 , HyperbolaPositiveMinorX = 14 , HyperbolaPositiveMinorY = 15 ,
  HyperbolaNegativeMinorX = 16 , HyperbolaNegativeMinorY = 17
}
 
enum  QRAlgorithm { EigenDenseQR = 0 , EigenSparseQR = 1 }
 
enum  SolveStatus { Success = 0 , Converged = 1 , Failed = 2 , SuccessfulSolutionInvalid = 3 }
 
enum  SpecialTag { DefaultTemporaryConstraint = -1 }
 

Functions

void free (std::vector< Constraint * > &constrvec)
 
void free (std::vector< SubSystem * > &subsysvec)
 
void free (VEC_pD &doublevec)
 
double lineSearch (SubSystem *subsys, Eigen::VectorXd &xdir)
 

Typedef Documentation

◆ Graph

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> GCS::Graph

◆ MAP_pD_D

typedef std::map<double *, double> GCS::MAP_pD_D

◆ MAP_pD_I

typedef std::map<double *, int> GCS::MAP_pD_I

◆ MAP_pD_pD

typedef std::map<double *, double *> GCS::MAP_pD_pD

◆ SET_I

typedef std::set<int> GCS::SET_I

◆ SET_pD

typedef std::set<double *> GCS::SET_pD

◆ VEC_D

typedef std::vector<double> GCS::VEC_D

◆ VEC_I

typedef std::vector<int> GCS::VEC_I

◆ VEC_P

typedef std::vector<Point> GCS::VEC_P

◆ VEC_pD

typedef std::vector<double *> GCS::VEC_pD

Enumeration Type Documentation

◆ Algorithm

Enumerator
BFGS 
LevenbergMarquardt 
DogLeg 

◆ ConstraintType

Enumerator
Equal 
Difference 
P2PDistance 
P2PAngle 
P2LDistance 
PointOnLine 
PointOnPerpBisector 
Parallel 
Perpendicular 
L2LAngle 
MidpointOnLine 
TangentCircumf 
PointOnEllipse 
TangentEllipseLine 
InternalAlignmentPoint2Ellipse 
EqualMajorAxesConic 
EllipticalArcRangeToEndPoints 
AngleViaPoint 
Snell 
CurveValue 
PointOnHyperbola 
InternalAlignmentPoint2Hyperbola 
PointOnParabola 
EqualFocalDistance 
EqualLineLength 

◆ DebugMode

Enumerator
NoDebug 
Minimal 
IterationLevel 

◆ DogLegGaussStep

Enumerator
FullPivLU 
LeastNormFullPivLU 
LeastNormLdlt 

◆ InternalAlignmentType

Enumerator
EllipsePositiveMajorX 
EllipsePositiveMajorY 
EllipseNegativeMajorX 
EllipseNegativeMajorY 
EllipsePositiveMinorX 
EllipsePositiveMinorY 
EllipseNegativeMinorX 
EllipseNegativeMinorY 
EllipseFocus2X 
EllipseFocus2Y 
HyperbolaPositiveMajorX 
HyperbolaPositiveMajorY 
HyperbolaNegativeMajorX 
HyperbolaNegativeMajorY 
HyperbolaPositiveMinorX 
HyperbolaPositiveMinorY 
HyperbolaNegativeMinorX 
HyperbolaNegativeMinorY 

◆ QRAlgorithm

Enumerator
EigenDenseQR 
EigenSparseQR 

◆ SolveStatus

Enumerator
Success 
Converged 
Failed 
SuccessfulSolutionInvalid 

◆ SpecialTag

Enumerator
DefaultTemporaryConstraint 

Function Documentation

◆ free() [1/3]

void GCS::free ( std::vector< Constraint * > &  constrvec)

◆ free() [2/3]

void GCS::free ( std::vector< SubSystem * > &  subsysvec)

◆ free() [3/3]

void GCS::free ( VEC_pD doublevec)

◆ lineSearch()

double GCS::lineSearch ( SubSystem subsys,
Eigen::VectorXd &  xdir 
)