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 70 of file chart.h.

Data Fields

TAtlasBasew
 
unsigned int m
 
unsigned int k
 
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
 

Field Documentation

unsigned int Tchart::n

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

Definition at line 75 of file chart.h.

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

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 76 of file chart.h.

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

double Tchart::error

Maximum error for the linear approximation of the manifold.

Definition at line 79 of file chart.h.

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

double Tchart::eCurv

Maximum cuvature error between the charts and the manifold

Definition at line 80 of file chart.h.

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

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 81 of file chart.h.

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

unsigned int Tchart::degree

Used to detect bifurcations.

Definition at line 83 of file chart.h.

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

boolean Tchart::collision

TRUE if the chart center is in collision.

Definition at line 84 of file chart.h.

Referenced by CollisionChart(), and InitChartInt().

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 85 of file chart.h.

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

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 88 of file chart.h.

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

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 93 of file chart.h.

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

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 95 of file chart.h.

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

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 99 of file chart.h.

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

unsigned int Tchart::nl

Current number of charts linked with this one.

Definition at line 102 of file chart.h.

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

unsigned int* Tchart::l

Identifiers of the linked charts.

Definition at line 103 of file chart.h.

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