Cytosim PI Cytoskeleton Simulator

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

List of all members | Public Member Functions | Protected Attributes
FiberBinder Class Reference

## Detailed Description

A FiberBinder has a pointer to a Fiber, which is:

- zero if the Binder is not attached,
- the corresponding Fiber when the Binder is attached.

When the FiberBinder is attached, its location on the Fiber is stored as a curvilinear abscissa (fbAbs) taken along the fiber, from a fixed reference on the fiber. The abscissa is independent from the Fiber's model points.

Inheritance diagram for FiberBinder:

## Public Member Functions
| FiberBinder ()
| construct as unattached
| FiberBinder (Fiber *f, real a)
| construct at the given distance from the origin
void | relocate (Fiber *f)
| move to a different fiber, at same abscissa
void | relocate (Fiber *f, real a)
| move to a different fiber, at given position
void | moveToEnd (FiberEnd end)
| move to the specified FiberEnd (CENTER is also a valid argument)
void | moveTo (real abs)
| move along the Fiber to specified abscissa, or detach
void | moveBy (real dabs)
| move along the Fiber by the abscissa offset dabs, or detach
bool | attached () const
| true if attached
Fiber * | fiber () const
| Fiber to which this is attached, or zero if not attached.
Vector | pos () const
| position in space
Vector | dir () const
| direction of Fiber obtained by normalization
Vector | dirFiber () const
| the direction of the Fiber at the point of attachment
real | abscissa () const
| the abscissa, from the origin of the Fiber
real | abscissaFrom (FiberEnd from) const
| abscissa, counted from the specified FiberEnd (in reversed direction for the PLUS_END)
FiberEnd | nearestEnd () const
| nearest end to the point specified by the abscissa from the origin
bool | withinP () const
| true if abscissa is below abscissaP
bool | withinM () const
| true if abscissa is above abscissaM
bool | within () const
| true if abscissa is within the fiber boundaries
const PointInterpolated & | interpolation () const
| the interpolation
void | updateBinder ()
| set a valid PointInterpolated
virtual void | attach (FiberBinder &fb)
| attach at position `fb`
virtual void | detach ()
| detach from Fiber (can be changed in derived Classes to allow updating)
void | checkFiberRange ()
| check the abscissa against the edges of the fiber, calling handleOutOfRange() if necessary.
virtual void | handleOutOfRange (FiberEnd)
| called when the Hand abscissa lies outside the range of the Fiber
FiberBinder * | next () const
| a static_cast<> of Node::next()
FiberBinder * | prev () const
| a static_cast<> of Node::prev()
virtual void | read (InputWrapper &, Simul &)
| read More...
virtual void | write (OutputWrapper &) const
| write
void | checkAbscissa () const
| check that fbAbs is within Fiber::abscissaM() and Fiber::abscissaP()
int | bad () const
| check validity of the interpolation (debuging purposes)
Public Member Functions inherited from Node
| Node ()
| constructor set as unlinked
virtual | ~Node ()
| destructor More...
bool | linked () const
| true if Node is linked
Node * | next () const
| the next Node in the list, or zero if this is last
Node * | prev () const
| the previous Node in the list, or zero if this is first
NodeList * | list () const
| the list where the object is linked, or zero
ObjectSet * | objset () const
| return associated ObjectSet

## Protected Attributes
Fiber * | fbFiber
| the Fiber on which it is attached, or 0 if not attached
real | fbAbs
| the abscissa from the Fiber origin
Protected Attributes inherited from Node
Node * | nNext
| the next Node in the list
Node * | nPrev
| the previous Node in the list

## Member Function Documentation

void read | ( | InputWrapper & | in,
|  | Simul & | sim
| ) |  |
| virtual

Todo:
  : we should allow binder to refer to any Mecable

Reimplemented in Hand.