FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
FFa3PArc Class Reference

#include <FFa3PArc.H>

Collaboration diagram for FFa3PArc:
Collaboration graph
[legend]

Public Member Functions

 FFa3PArc (const FaVec3 &p1, const FaVec3 &p2, const FaVec3 &p3)
 
FaVec3 getCenter () const
 
FaVec3 getNormal () const
 
double getRadius () const
 
double getArcLength () const
 
FaVec3 getPointOnArc (double lengthFromStart) const
 
FaVec3 getTangent (double lengthFromStart) const
 
double getLengthWMaxDefl (double maxDeflection) const
 
FaMat34 getCtrlPointMatrix (int pointNumber, const FaVec3 &positiveNormal, bool normalIsSignOnly=true) const
 
bool isArc (double epsilon=1.0e-10) const
 
bool isInside (const FaVec3 &point) const
 
bool isOnCenterSide (const FaVec3 &point) const
 

Static Public Member Functions

static FFa3PArc makeFromTangentP1P2 (const FaVec3 &t, const FaVec3 &p1, const FaVec3 &p2, bool startTan=true)
 
static FFa3PArc makeFromP1T1T2L (const FaVec3 &p1, const FaVec3 &t1, const FaVec3 &t2, double arcLength)
 
static FaVec3 findCenter (const FaVec3 &P1, FaVec3 P1C, const FaVec3 &P2, FaVec3 P2C)
 

Public Attributes

FaVec3 P [3]
 

Constructor & Destructor Documentation

◆ FFa3PArc()

FFa3PArc::FFa3PArc ( const FaVec3 p1,
const FaVec3 p2,
const FaVec3 p3 
)
inline

Member Function Documentation

◆ findCenter()

FaVec3 FFa3PArc::findCenter ( const FaVec3 P1,
FaVec3  P1C,
const FaVec3 P2,
FaVec3  P2C 
)
static

Finds the center of a circle based on two points on circle and vectors twowards centre at the two locations.

This is done based on equations : P1 + a*P1C = C P2 + b*P2C = C

Using x and y component equations as 4 equations with 4 unknowns.

◆ getArcLength()

double FFa3PArc::getArcLength ( ) const

Returns the length of this arc along the arc.

◆ getCenter()

FaVec3 FFa3PArc::getCenter ( ) const

◆ getCtrlPointMatrix()

FaMat34 FFa3PArc::getCtrlPointMatrix ( int  pointNumber,
const FaVec3 positiveNormal,
bool  normalIsSignOnly = true 
) const

◆ getLengthWMaxDefl()

double FFa3PArc::getLengthWMaxDefl ( double  maxDeflection) const

Returns the length along the arc that will make the sagitta (distance from the chord to the arc)

See also
maxDeflection long.

◆ getNormal()

FaVec3 FFa3PArc::getNormal ( ) const

◆ getPointOnArc()

FaVec3 FFa3PArc::getPointOnArc ( double  lengthFromStart) const

◆ getRadius()

double FFa3PArc::getRadius ( ) const

◆ getTangent()

FaVec3 FFa3PArc::getTangent ( double  lengthFromStart) const

◆ isArc()

bool FFa3PArc::isArc ( double  epsilon = 1.0e-10) const

◆ isInside()

bool FFa3PArc::isInside ( const FaVec3 point) const

◆ isOnCenterSide()

bool FFa3PArc::isOnCenterSide ( const FaVec3 point) const

◆ makeFromP1T1T2L()

FFa3PArc FFa3PArc::makeFromP1T1T2L ( const FaVec3 p1,
const FaVec3 t1,
const FaVec3 t2,
double  arcLength 
)
static

◆ makeFromTangentP1P2()

FFa3PArc FFa3PArc::makeFromTangentP1P2 ( const FaVec3 t,
const FaVec3 p1,
const FaVec3 p2,
bool  startTan = true 
)
static

Member Data Documentation

◆ P

FaVec3 FFa3PArc::P[3]

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