GUIDOLib  1.7.7
Guido Engine Internal Documentation
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
GRSpring Class Reference

Used with rods and space fore functions. More...

Public Member Functions

 GRSpring (const TYPE_TIMEPOSITION &vtp, const TYPE_DURATION &vdur, float spring, float propRender)
 
 GRSpring (GRNotationElement *, GRVoice *, float spring, float propRender)
 
virtual ~GRSpring ()
 
void OnDraw (VGDevice &hdc) const
 
bool containsBar () const
 
void checkLocalCollisions ()
 
float GetMaxDistance (GRSpring *nextspring)
 
float stretchWithForce (float newforce)
 
bool hasStaffAndType (const GRStaff *grstaff, const std::type_info &ti)
 
float set_const (float dc)
 
float recalcConstant ()
 
void addElement (GRNotationElement *el, GRVoice *vce)
 
bool hasType (const std::type_info &ti)
 
bool hasGraceNote ()
 
void setNoExtent ()
 
int removeElement (GRNotationElement *el)
 
int setGRPositionX (float p_posx)
 
void setGRSpringID ()
 
float getExtent () const
 
void setID (int _id)
 
int getID () const
 
float getForce () const
 
float getConstant () const
 
virtual const GRNotationElementgetFirstGRO () const
 
virtual GuidoPos getFirstGROPosition ()
 
virtual const GRNotationElementgetNextGRO (GuidoPos &pos) const
 
virtual float apply_force (float df)
 
virtual float change_x (float dx)
 
virtual float change_force (float df)
 
virtual float change_const (float dc)
 
virtual float change_dur (const TYPE_DURATION &ndur)
 
virtual float setlength (float dx)
 
virtual const TYPE_DURATIONgetTimePosition () const
 
virtual const TYPE_DURATIONgetDuration () const
 
int operator< (const GRSpring &spr) const
 
int isCommonSpring (int numvoices) const
 
float setProportionalForce ()
 
void print (std::ostream &out) const
 

Static Public Member Functions

static float defconst (const TYPE_DURATION &, float spring)
 
static float defconst (float dur, float spring)
 

Public Attributes

bool fHasDurElement
 
int fIsfrozen
 
float fPosx
 

Protected Member Functions

float calcconst (GRNotationElement *grn)
 

Protected Attributes

TYPE_TIMEPOSITION fTp
 
TYPE_DURATION fDur
 
int fId
 
GRSpringColliderfSprcol
 
float fFuncpar
 
float fProportionalRendering
 

Friends

class GRSpaceForceFunction2
 
class GRRod
 
class GRSystem
 

Detailed Description

Used with rods and space fore functions.

Constructor & Destructor Documentation

◆ GRSpring() [1/2]

GRSpring::GRSpring ( const TYPE_TIMEPOSITION vtp,
const TYPE_DURATION vdur,
float  spring,
float  propRender 
)

◆ GRSpring() [2/2]

GRSpring::GRSpring ( GRNotationElement ,
GRVoice ,
float  spring,
float  propRender 
)

◆ ~GRSpring()

virtual GRSpring::~GRSpring ( )
virtual

Member Function Documentation

◆ addElement()

void GRSpring::addElement ( GRNotationElement el,
GRVoice vce 
)

◆ apply_force()

virtual float GRSpring::apply_force ( float  df)
virtual

◆ calcconst()

float GRSpring::calcconst ( GRNotationElement grn)
protected

◆ change_const()

virtual float GRSpring::change_const ( float  dc)
virtual

◆ change_dur()

virtual float GRSpring::change_dur ( const TYPE_DURATION ndur)
virtual

◆ change_force()

virtual float GRSpring::change_force ( float  df)
virtual

◆ change_x()

virtual float GRSpring::change_x ( float  dx)
virtual

◆ checkLocalCollisions()

void GRSpring::checkLocalCollisions ( )

◆ containsBar()

bool GRSpring::containsBar ( ) const

◆ defconst() [1/2]

static float GRSpring::defconst ( const TYPE_DURATION ,
float  spring 
)
static

◆ defconst() [2/2]

static float GRSpring::defconst ( float  dur,
float  spring 
)
static

◆ getConstant()

float GRSpring::getConstant ( ) const
inline

◆ getDuration()

virtual const TYPE_DURATION& GRSpring::getDuration ( ) const
inlinevirtual

◆ getExtent()

float GRSpring::getExtent ( ) const
inline

◆ getFirstGRO()

virtual const GRNotationElement* GRSpring::getFirstGRO ( ) const
virtual

◆ getFirstGROPosition()

virtual GuidoPos GRSpring::getFirstGROPosition ( )
virtual

◆ getForce()

float GRSpring::getForce ( ) const
inline

◆ getID()

int GRSpring::getID ( ) const

◆ GetMaxDistance()

float GRSpring::GetMaxDistance ( GRSpring nextspring)

◆ getNextGRO()

virtual const GRNotationElement* GRSpring::getNextGRO ( GuidoPos &  pos) const
virtual

◆ getTimePosition()

virtual const TYPE_DURATION& GRSpring::getTimePosition ( ) const
inlinevirtual

◆ hasGraceNote()

bool GRSpring::hasGraceNote ( )

◆ hasStaffAndType()

bool GRSpring::hasStaffAndType ( const GRStaff grstaff,
const std::type_info &  ti 
)

◆ hasType()

bool GRSpring::hasType ( const std::type_info &  ti)

◆ isCommonSpring()

int GRSpring::isCommonSpring ( int  numvoices) const

◆ OnDraw()

void GRSpring::OnDraw ( VGDevice hdc) const

◆ operator<()

int GRSpring::operator< ( const GRSpring spr) const

◆ print()

void GRSpring::print ( std::ostream &  out) const

◆ recalcConstant()

float GRSpring::recalcConstant ( )

◆ removeElement()

int GRSpring::removeElement ( GRNotationElement el)

◆ set_const()

float GRSpring::set_const ( float  dc)

◆ setGRPositionX()

int GRSpring::setGRPositionX ( float  p_posx)

◆ setGRSpringID()

void GRSpring::setGRSpringID ( )

◆ setID()

void GRSpring::setID ( int  _id)

◆ setlength()

virtual float GRSpring::setlength ( float  dx)
virtual

◆ setNoExtent()

void GRSpring::setNoExtent ( )

◆ setProportionalForce()

float GRSpring::setProportionalForce ( )

◆ stretchWithForce()

float GRSpring::stretchWithForce ( float  newforce)

Friends And Related Function Documentation

◆ GRRod

friend class GRRod
friend

◆ GRSpaceForceFunction2

friend class GRSpaceForceFunction2
friend

◆ GRSystem

friend class GRSystem
friend

Member Data Documentation

◆ fDur

TYPE_DURATION GRSpring::fDur
protected

◆ fFuncpar

float GRSpring::fFuncpar
protected

◆ fHasDurElement

bool GRSpring::fHasDurElement

◆ fId

int GRSpring::fId
protected

◆ fIsfrozen

int GRSpring::fIsfrozen

◆ fPosx

float GRSpring::fPosx

◆ fProportionalRendering

float GRSpring::fProportionalRendering
protected

◆ fSprcol

GRSpringCollider* GRSpring::fSprcol
protected

◆ fTp

TYPE_TIMEPOSITION GRSpring::fTp
protected

Guido Project Copyright © 2019 Grame-CNCM