Strong Coupling Core  0.1.0
Library for solving a system of strong coupled physical subsystems.
 All Classes Namespaces Files Functions Variables Macros Pages
Public Member Functions | Public Attributes | List of all members
sc::Equation Class Reference

Base class for equations. Constrains two instances of Connector. More...

#include <Equation.h>

Public Member Functions

 Equation ()
 
 Equation (Connector *, Connector *)
 
virtual ~Equation ()
 
ConnectorgetConnA ()
 
ConnectorgetConnB ()
 
void setDefault ()
 
void setConnA (Connector *)
 
void setConnB (Connector *)
 
void setConnectors (Connector *, Connector *)
 
JacobianElement getGA ()
 
JacobianElement getGB ()
 
JacobianElement getddA ()
 
JacobianElement getddB ()
 
void setSpookParams (double relaxation, double compliance, double timeStep)
 Sets a, b, epsilon according to SPOOK. More...
 
double getViolation ()
 Get constraint violation, g. More...
 
double setViolation (double g)
 
void setDefaultViolation ()
 
double getVelocity ()
 Get constraint velocity, G*W. More...
 
double getFutureVelocity ()
 
void setSpatialJacobianA (double x, double y, double z)
 Set the spatial components of connector A jacobian. More...
 
void setSpatialJacobianA (const Vec3 &seed)
 
void setRotationalJacobianA (double x, double y, double z)
 Set the rotational components of connector A jacobian. More...
 
void setRotationalJacobianA (const Vec3 &seed)
 
void setSpatialJacobianB (double x, double y, double z)
 Set the spatial components of connector B jacobian. More...
 
void setSpatialJacobianB (const Vec3 &seed)
 
void setRotationalJacobianB (double x, double y, double z)
 Set the rotational components of connector B jacobian. More...
 
void setRotationalJacobianB (const Vec3 &seed)
 
void setJacobian (double, double, double, double, double, double, double, double, double, double, double, double)
 Set all jacobian elements at once. More...
 
void getSpatialJacobianSeedA (Vec3 &seed)
 Get the spatial components of connector A jacobian seed. More...
 
void getRotationalJacobianSeedA (Vec3 &seed)
 Get the rotational components of connector A jacobian. More...
 
void getSpatialJacobianSeedB (Vec3 &seed)
 Get the spatial components of connector B jacobian. More...
 
void getRotationalJacobianSeedB (Vec3 &seed)
 Get the rotational components of connector B jacobian. More...
 
void setG (double, double, double, double, double, double, double, double, double, double, double, double)
 
void setG (const Vec3 &spatialA, const Vec3 &rotationalA, const Vec3 &spatialB, const Vec3 &rotationalB)
 

Public Attributes

double m_a
 Spook parameter "a". More...
 
double m_b
 Spook parameter "b". More...
 
double m_epsilon
 Spook parameter "epsilon". More...
 
double m_timeStep
 Time step. More...
 

Detailed Description

Base class for equations. Constrains two instances of Connector.

Constructor & Destructor Documentation

Equation::Equation ( )
Equation::Equation ( Connector connA,
Connector connB 
)
Equation::~Equation ( )
virtual

Member Function Documentation

Connector * Equation::getConnA ( )
Connector * Equation::getConnB ( )
JacobianElement Equation::getddA ( )
JacobianElement Equation::getddB ( )
double Equation::getFutureVelocity ( )
JacobianElement Equation::getGA ( )
JacobianElement Equation::getGB ( )
void Equation::getRotationalJacobianSeedA ( Vec3 seed)

Get the rotational components of connector A jacobian.

void Equation::getRotationalJacobianSeedB ( Vec3 seed)

Get the rotational components of connector B jacobian.

void Equation::getSpatialJacobianSeedA ( Vec3 seed)

Get the spatial components of connector A jacobian seed.

Parameters
seed
void Equation::getSpatialJacobianSeedB ( Vec3 seed)

Get the spatial components of connector B jacobian.

double Equation::getVelocity ( )

Get constraint velocity, G*W.

double Equation::getViolation ( )

Get constraint violation, g.

void Equation::setConnA ( Connector c)
void Equation::setConnB ( Connector c)
void Equation::setConnectors ( Connector cA,
Connector cB 
)
void Equation::setDefault ( )
void Equation::setDefaultViolation ( )
void Equation::setG ( double  sxA,
double  syA,
double  szA,
double  rxA,
double  ryA,
double  rzA,
double  sxB,
double  syB,
double  szB,
double  rxB,
double  ryB,
double  rzB 
)
void Equation::setG ( const Vec3 spatialA,
const Vec3 rotationalA,
const Vec3 spatialB,
const Vec3 rotationalB 
)
void Equation::setJacobian ( double  G1,
double  G2,
double  G3,
double  G4,
double  G5,
double  G6,
double  G7,
double  G8,
double  G9,
double  G10,
double  G11,
double  G12 
)

Set all jacobian elements at once.

void Equation::setRotationalJacobianA ( double  x,
double  y,
double  z 
)

Set the rotational components of connector A jacobian.

void Equation::setRotationalJacobianA ( const Vec3 seed)
void Equation::setRotationalJacobianB ( double  x,
double  y,
double  z 
)

Set the rotational components of connector B jacobian.

void Equation::setRotationalJacobianB ( const Vec3 seed)
void Equation::setSpatialJacobianA ( double  x,
double  y,
double  z 
)

Set the spatial components of connector A jacobian.

Parameters
x
y
z
void Equation::setSpatialJacobianA ( const Vec3 seed)
void Equation::setSpatialJacobianB ( double  x,
double  y,
double  z 
)

Set the spatial components of connector B jacobian.

void Equation::setSpatialJacobianB ( const Vec3 seed)
void Equation::setSpookParams ( double  relaxation,
double  compliance,
double  timeStep 
)

Sets a, b, epsilon according to SPOOK.

Parameters
relaxation
compliance
timeStep
double Equation::setViolation ( double  g)

Member Data Documentation

double sc::Equation::m_a

Spook parameter "a".

double sc::Equation::m_b

Spook parameter "b".

double sc::Equation::m_epsilon

Spook parameter "epsilon".

double sc::Equation::m_timeStep

Time step.


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