Tchart Struct Reference

Detailed Description

Combination of a map on a manifold and a polytope defined on the tangent space of the map. The polytope can be normal (Tcpolytope) or simple (Tscpolytope).

See also
chart.h,chart.c.

Definition at line 86 of file chart.h.

Data Fields

TAtlasBasew
 
unsigned int m
 
unsigned int k
 
unsigned int da
 
unsigned int n
 
unsigned int nrJ
 
double error
 
double eCurv
 
double r
 
unsigned int degree
 
boolean collision
 
boolean frontier
 
boolean singular
 
double * center
 
double * T
 
booleanBJ
 
unsigned int ml
 
unsigned int nl
 
unsigned int * l
 
boolean simple
 
Tcpolytopep
 
Tscpolytopesp
 
double * A
 
double * B
 
double * c
 
double * d
 
double * iRBt
 
double * BiRBt
 

Field Documentation

◆ w

◆ m

◆ k

◆ da

unsigned int Tchart::da

Dimension of the action space. Only used for linearized dynamics.

Definition at line 91 of file chart.h.

Referenced by CopyChart(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().

◆ n

unsigned int Tchart::n

Number of non-redundant equations (equalities) defining the manifold

Definition at line 92 of file chart.h.

Referenced by Chart2Manifold(), ChartErrorFromParameters(), CopyChart(), Error2Chart(), GetChartDegree(), InitChartInt(), IntersectChartsInt(), LoadChart(), Local2Global(), Manifold2Chart(), and SaveChart().

◆ nrJ

unsigned int Tchart::nrJ

Number of equations. Number of rows of the Jacobian. This is n for well constrained systems and it is larger than n for overconstrained sytems.

Definition at line 93 of file chart.h.

Referenced by Chart2Manifold(), ComputeJacobianKernelBasis(), CopyChart(), InitChartInt(), LoadChart(), and SaveChart().

◆ error

double Tchart::error

Maximum error for the linear approximation of the manifold.

Definition at line 96 of file chart.h.

Referenced by ClassifyPointInChart(), CopyChart(), DistanceOnChart(), GetChartMaxError(), InitChartInt(), LoadChart(), PathInChart(), PointOnChart(), and SaveChart().

◆ eCurv

double Tchart::eCurv

Maximum cuvature error between the charts and the manifold

Definition at line 97 of file chart.h.

Referenced by CompareTangentSpaces(), CopyChart(), GetChartMaxCurvError(), InitChartInt(), LoadChart(), and SaveChart().

◆ r

double Tchart::r

Temptative radious of influence of the chart. This is stored in the polytpe, but we cache it here for convenience.

Definition at line 98 of file chart.h.

Referenced by BoundaryPointFromExternalCorner(), BoundaryPointsFromExternalCorners(), ClassifyPointInChart(), CopyChart(), FocusedPointOnBoundary(), ForceChartCut(), GetChartRadius(), InitChartInt(), IntersectChartsInt(), LoadChart(), PlotChartAsBox(), PointOnChart(), RandomPointOnBoundary(), and SaveChart().

◆ degree

unsigned int Tchart::degree

Used to detect bifurcations.

Definition at line 100 of file chart.h.

Referenced by CopyChart(), GetChartDegree(), InitChartInt(), LoadChart(), and SaveChart().

◆ collision

boolean Tchart::collision

TRUE if the chart center is in collision.

Definition at line 101 of file chart.h.

Referenced by CollisionChart(), and InitChartInt().

◆ frontier

boolean Tchart::frontier

TRUE for charts with the center out of the domain either because of the domain limits or due to a collision. Those charts are not to be extended.

Definition at line 102 of file chart.h.

Referenced by ChartIsFrontier(), CopyChart(), ExpandibleChart(), FrontierChart(), InitChartInt(), LoadChart(), PlotChartAsPolygon(), and SaveChart().

◆ singular

boolean Tchart::singular

TRUE for charts defined on singularities. This occurs during branch switching. Singular charts do not have a Jacobian basis defined

Definition at line 105 of file chart.h.

Referenced by ComputeJacobianKernelBasis(), CopyChart(), GetChartDegree(), InitChartInt(), LinkChart(), LoadChart(), SaveChart(), and SingularChart().

◆ center

◆ T

double* Tchart::T

Basis of the tangent space of the manifold at p (m x k matrix) stored in the form of a vector.

Definition at line 110 of file chart.h.

Referenced by Chart2Manifold(), CompareTangentSpaces(), ComputeJacobianKernelBasis(), CopyChart(), DeleteChart(), GetChartDegree(), GetChartTangentSpace(), InitChartInt(), LoadChart(), Local2Global(), Manifold2Chart(), MinCosinusBetweenCharts(), and SaveChart().

◆ BJ

boolean* Tchart::BJ

TRUE for the rows of the Jacobian that form a basis. This is used to compute the degree of the chart and, thus it is only defined for non-singular charts.

Definition at line 112 of file chart.h.

Referenced by Chart2Manifold(), ComputeJacobianKernelBasis(), CopyChart(), DeleteChart(), GetChartDegree(), GetChartJacobianBasis(), InitChartInt(), LoadChart(), and SaveChart().

◆ ml

unsigned int Tchart::ml

Maximum number of charts linked to this one. Singular charts are linked with other singular charts (typically one) representing the bifurcation.

Definition at line 116 of file chart.h.

Referenced by CopyChart(), InitChartInt(), LinkChart(), LoadChart(), and SaveChart().

◆ nl

unsigned int Tchart::nl

Current number of charts linked with this one.

Definition at line 119 of file chart.h.

Referenced by ChartNeighbourID(), ChartNumNeighbours(), CopyChart(), InitChartInt(), LinkChart(), LoadChart(), and SaveChart().

◆ l

unsigned int* Tchart::l

Identifiers of the linked charts.

Definition at line 120 of file chart.h.

Referenced by ChartNeighbourID(), CopyChart(), DeleteChart(), InitChartInt(), LinkChart(), LoadChart(), and SaveChart().

◆ simple

◆ p

◆ sp

◆ A

double* Tchart::A

Derivative of the acceleration in tangent space with respect to the parameters (k x k)

Definition at line 128 of file chart.h.

Referenced by CopyChart(), DeleteChart(), GetLinearizedDynamics(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().

◆ B

double* Tchart::B

Derivative of the acceleration in tangent space with respect to the actions (k x k/2)

Definition at line 130 of file chart.h.

Referenced by CopyChart(), DeleteChart(), GetLinearizedDynamics(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().

◆ c

double* Tchart::c

Offset of the linearized dynamics, Vector of size k

Definition at line 132 of file chart.h.

Referenced by CopyChart(), DeleteChart(), GetLinearizedDynamics(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().

◆ d

double* Tchart::d

◆ iRBt

double* Tchart::iRBt

Product of matrices R^-1 and B^t, where R is the regulation costs. Matrix k/2 x k

Definition at line 135 of file chart.h.

Referenced by CopyChart(), DeleteChart(), GetLinearizedDynamics(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().

◆ BiRBt

double* Tchart::BiRBt

Product of B with iRBt. Matrix k x k

Definition at line 137 of file chart.h.

Referenced by CopyChart(), DeleteChart(), GetLinearizedDynamics(), InitChartInt(), LoadChart(), SaveChart(), and SetLinearizedDynamics().