Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds
SDTInteractors.h
1 
7 #ifndef SDT_INTERACTORS_H
8 #define SDT_INTERACTORS_H
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
26 
30 
34 
37 extern void SDTInteractor_setFirstPoint(SDTInteractor *x, long l);
38 
41 extern void SDTInteractor_setSecondPoint(SDTInteractor *x, long l);
42 
46 
58 extern void SDTInteractor_dsp(SDTInteractor *x, double f0, double v0, double s0,
59  double f1, double v1, double s1, double *outs);
60 
75 typedef struct SDTImpact SDTImpact;
76 
80 
83 extern void SDTImpact_free(SDTInteractor *x);
84 
87 extern void SDTImpact_setStiffness(SDTInteractor *x, double f);
88 
91 extern void SDTImpact_setDissipation(SDTInteractor *x, double f);
92 
95 extern void SDTImpact_setShape(SDTInteractor *x, double f);
96 
117 typedef struct SDTFriction SDTFriction;
118 
122 
125 extern void SDTFriction_free(SDTInteractor *x);
126 
129 extern void SDTFriction_setNormalForce(SDTInteractor *x, double f);
130 
133 extern void SDTFriction_setStribeckVelocity(SDTInteractor *x, double f);
134 
137 extern void SDTFriction_setStaticCoefficient(SDTInteractor *x, double f);
138 
141 extern void SDTFriction_setDynamicCoefficient(SDTInteractor *x, double f);
142 
145 extern void SDTFriction_setBreakAway(SDTInteractor *x, double f);
146 
149 extern void SDTFriction_setStiffness(SDTInteractor *x, double f);
150 
153 extern void SDTFriction_setDissipation(SDTInteractor *x, double f);
154 
157 extern void SDTFriction_setViscosity(SDTInteractor *x, double f);
158 
161 extern void SDTFriction_setNoisiness(SDTInteractor *x, double f);
162 
165 #ifdef __cplusplus
166 };
167 #endif
168 
169 #endif
170 
void SDTInteractor_setSecondPoint(SDTInteractor *x, long l)
Sets the contact point index for the second resonator.
SDTInteractor * SDTFriction_new()
Object constructor.
double SDTInteractor_computeForce(SDTInteractor *x)
Computes a force to apply to the contact points, based on the resonators' state at the chosen pickups...
struct SDTFriction SDTFriction
Opaque data structure representing the internal state of a friction interactor.
Definition: SDTInteractors.h:117
void SDTFriction_setStaticCoefficient(SDTInteractor *x, double f)
Sets the static friction coefficient.
void SDTFriction_setStiffness(SDTInteractor *x, double f)
Sets the contact stiffness.
void SDTInteractor_dsp(SDTInteractor *x, double f0, double v0, double s0, double f1, double v1, double s1, double *outs)
Signal processing routine. Convenience method to compute the interaction force, apply it to the reson...
void SDTFriction_free(SDTInteractor *x)
Object destructor. param[in] Pointer to a SDTInteractor instance, configured for the friction case...
void SDTFriction_setNormalForce(SDTInteractor *x, double f)
Sets the perpendicular force (pressure) applied to the two sliding resonators.
void SDTImpact_setDissipation(SDTInteractor *x, double f)
Sets the dissipation coefficient.
void SDTInteractor_setFirstPoint(SDTInteractor *x, long l)
Sets the contact point index for the first resonator.
struct SDTImpact SDTImpact
Opaque data structure representing the internal state of an impact interactor.
Definition: SDTInteractors.h:75
void SDTFriction_setNoisiness(SDTInteractor *x, double f)
Sets the surface roughness.
void SDTInteractor_setSecondResonator(SDTInteractor *x, SDTResonator *p)
Sets the pointer to the second interacting resonator.
void SDTInteractor_setFirstResonator(SDTInteractor *x, SDTResonator *p)
Sets the pointer to the first interacting resonator.
void SDTImpact_setStiffness(SDTInteractor *x, double f)
Sets the impact stiffness.
void SDTFriction_setDissipation(SDTInteractor *x, double f)
Sets the dissipation coefficient.
void SDTFriction_setViscosity(SDTInteractor *x, double f)
Sets the contact viscosity.
void SDTFriction_setBreakAway(SDTInteractor *x, double f)
Sets the break away coefficient.
struct SDTInteractor SDTInteractor
Opaque data structure representing the interactor interface.
Definition: SDTInteractors.h:25
void SDTImpact_free(SDTInteractor *x)
Object destructor. param[in] Pointer to a SDTInteractor instance, configured for the impact case...
struct SDTResonator SDTResonator
Opaque data structure representing a solid resonator object.
Definition: SDTResonators.h:22
void SDTImpact_setShape(SDTInteractor *x, double f)
Sets the shape factor.
SDTInteractor * SDTImpact_new()
Object constructor.
void SDTFriction_setStribeckVelocity(SDTInteractor *x, double f)
Sets the Stribeck velocity.
void SDTFriction_setDynamicCoefficient(SDTInteractor *x, double f)
Sets the dynamic friction coefficient.