DI-Guy C++ SDK Reference  13.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
diguyChainSettings.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2014 VT MAK
4  ** All rights reserved.
5  *********************************************************************/
6 
7 
8 /*********************************************************************
9  **
10  *t diguyChainSettings
11  **
12  */
13 
14 #ifndef __diguyChainSettings_H
15 #define __diguyChainSettings_H
16 
17 
18 #ifdef SWIG
19 %module diguyChainSettings
20 #else
21 #define CPLUSPLUS_ONLY
22 #endif
23 
24 #ifdef CPLUSPLUS_ONLY
25 class bdiScenarioChainSettings;
26 #endif
27 
28 
29 #include <declspec_diguy.h>
30 
31 /****************************************************************************/
32 class BDI_DECLSPEC_diguy diguyChainSettings
33 {
34 
35 public:
36 
37 /*****************************************************************************/
43  /*l
44  *b Returns:
45  **
46  ** name of this object; this value will never be NULL
47  **
48  *b Callable From:
49  **
50  *- - C++
51  *- - Script
52  */
53  const char* get_name();
54 
55  /*l
56  *b Description:
57  **
58  ** This function sets the name of this object.
59  **
60  *b Returns:
61  **
62  ** 0 on success, -1 on failure
63  **
64  *b Callable From:
65  **
66  *- - C++
67  *- - Script
68  */
69  int set_name(const char* name);
70 
71 
72 /*****************************************************************************/
78  /*l
79  *b Description:
80  **
81  ** This function sets how many masses will in a chain using these
82  ** settings.
83  **
84  ** The default is 80 masses.
85  **
86  *b Arguments:
87  **
88  *a num_masses - number of masses
89  **
90  *b Callable From:
91  **
92  *- - C++
93  *- - Script
94  */
95  void set_num_masses(int num_masses);
96 
97  /*l
98  *b Returns:
99  **
100  ** number of masses; see set_num_masses()
101  **
102  *b Callable From:
103  **
104  *- - C++
105  *- - Script
106  */
107  int get_num_masses();
108 
109  /*l
110  *b Description:
111  **
112  ** This function sets which chain mass will be connected to the
113  ** chain's associated character when a chain using these settings is
114  ** created or reset.
115  **
116  ** Pass -1 for no mass to be connected.
117  **
118  ** The default is chain mass 0.
119  **
120  *b Arguments:
121  **
122  *a chain_mass_index - index of chain mass
123  **
124  *b Callable From:
125  **
126  *- - C++
127  *- - Script
128  */
129  void set_index_of_chain_mass_connected_to_character(int chain_mass_index);
130 
131  /*l
132  *b Returns:
133  **
134  ** which mass to connect on reset; see
135  ** set_index_of_chain_mass_connected_to_character()
136  **
137  *b Callable From:
138  **
139  *- - C++
140  *- - Script
141  */
142  int get_index_of_chain_mass_connected_to_character();
143 
144  /*l
145  *b Description:
146  **
147  ** This function sets the dt of the chain simulation using these
148  ** settings.
149  **
150  ** Higher dt values will provide faster simulations at the risk of
151  ** instabilities. Conversely, lower dt values result in more
152  ** simulation computational overhead, but the simulation will be more
153  ** stable.
154  **
155  ** The default is 0.002 seconds.
156  **
157  *b Arguments:
158  **
159  *a simulation_dt - dt of each simulation time step, in seconds
160  **
161  *b Callable From:
162  **
163  *- - C++
164  *- - Script
165  */
166  void set_simulation_dt(float simulation_dt);
167 
168  /*l
169  *b Returns:
170  **
171  ** dt of chain simulation; see set_simulation_dt()
172  **
173  *b Callable From:
174  **
175  *- - C++
176  *- - Script
177  */
178  float get_simulation_dt();
179 
180  /*l
181  *b Description:
182  **
183  ** This function sets the mass of each chain mass of the chain
184  ** simulation using these settings.
185  **
186  ** Heavier mass will result in chain masses that have more momentum
187  ** when moving.
188  **
189  ** The default is 0.5 kg.
190  **
191  *b Arguments:
192  **
193  *a mass - mass of each chain mass, in kg
194  **
195  *b Callable From:
196  **
197  *- - C++
198  *- - Script
199  */
200  void set_mass(float mass);
201 
202  /*l
203  *b Returns:
204  **
205  ** mass of each chain mass; see set_mass()
206  **
207  *b Callable From:
208  **
209  *- - C++
210  *- - Script
211  */
212  float get_mass();
213 
214  /*l
215  *b Description:
216  **
217  ** This function sets the nominal length of the springs connecting
218  ** adjacent chain masses of the chain simulation using these
219  ** settings.
220  **
221  ** Adjacent chain masses will try to keep this distance between them.
222  ** A longer spring length will result in a longer chain.
223  **
224  ** The default is 0.2 meters
225  **
226  *b Arguments:
227  **
228  *a spring_length - nominal length between adjacent chain masses,
229  *a in meters
230  **
231  *b Callable From:
232  **
233  *- - C++
234  *- - Script
235  */
236  void set_spring_length(float spring_length);
237 
238  /*l
239  *b Returns:
240  **
241  ** nominal length between adjacent chain masses;
242  ** see set_spring_length()
243  **
244  *b Callable From:
245  **
246  *- - C++
247  *- - Script
248  */
249  float get_spring_length();
250 
251  /*l
252  *b Description:
253  **
254  ** This function sets the spring constant of the springs connecting
255  ** adjacent chain masses of the chain simulation using these
256  ** settings.
257  **
258  ** A higher spring constant will result in a more rigid chain, as
259  ** adjacent masses will try to maintain their nominal spring length
260  ** between them, as set by set_spring_length().
261  **
262  ** A hose would have a high spring constant, while a "slinky" would
263  ** have a low spring constant.
264  **
265  ** This spring constant only applies between adjacent masses.
266  **
267  ** The default is 10000.
268  **
269  *b Arguments:
270  **
271  *a spring_k - spring constant of springs between adjacent masses
272  **
273  *b Callable From:
274  **
275  *- - C++
276  *- - Script
277  */
278  void set_spring_k(float spring_k);
279 
280  /*l
281  *b Returns:
282  **
283  ** spring constant of springs between adjacent masses; see
284  ** set_spring_k()
285  **
286  *b Callable From:
287  **
288  *- - C++
289  *- - Script
290  */
291  float get_spring_k();
292 
293  /*l
294  *b Description:
295  **
296  ** This function sets the damping constant of the springs connecting
297  ** adjacent chain masses of the chain simulation using these
298  ** settings.
299  **
300  ** A higher damping constant will result in a chain that doesn't
301  ** oscillate as much; movement between masses will quickly die down.
302  **
303  ** A hose would have a high damping constant, while a "slinky" would
304  ** have a low damping constant.
305  **
306  ** The default is 15.
307  **
308  *b Arguments:
309  **
310  *a damping constant of springs between adjacent masses
311  **
312  *b Callable From:
313  **
314  *- - C++
315  *- - Script
316  */
317  void set_spring_b(float spring_b);
318 
319  /*l
320  *b Returns:
321  **
322  ** damping constant of springs between adjacent masses; see
323  ** set_spring_b()
324  **
325  *b Callable From:
326  **
327  *- - C++
328  *- - Script
329  */
330  float get_spring_b();
331 
332  /*l
333  *b Description:
334  **
335  ** This function sets the nominal length of the springs connecting
336  ** '2nd neighbor' chain masses of the chain simulation using these
337  ** settings.
338  **
339  ** 2nd neighbor chain masses are two masses apart instead of one.
340  ** (Adjacent masses are one mass apart.)
341  **
342  ** A longer 2nd neighbor spring length will result in a chain that is
343  ** stiffer and doesn't droop. A lower value will result in a chain
344  ** that can droop a lot from mass to mass.
345  **
346  ** A garden hose would have a high 2nd neighbor spring length, while
347  ** a metal chain made of linked chain links would have a low 2nd
348  ** neighbor spring length.
349  **
350  ** The default is 0.8 meters
351  **
352  *b Arguments:
353  **
354  *a spring_length - nominal length between adjacent chain masses,
355  *a in meters
356  **
357  *b Callable From:
358  **
359  *- - C++
360  *- - Script
361  */
362  void set_neighbor2_spring_length(float neighbor2_spring_length);
363 
364  /*l
365  *b Returns:
366  **
367  ** nominal distance between each mass and its '2nd neighbor'; see
368  ** set_neighbor2_spring_length()
369  **
370  *b Callable From:
371  **
372  *- - C++
373  *- - Script
374  */
375  float get_neighbor2_spring_length();
376 
377  /*l
378  *b Description:
379  **
380  ** This function sets the spring constant of springs connecting 2nd
381  ** neighbor chain masses of the chain simulation using these
382  ** settings.
383  **
384  ** See set_spring_k() for a discussion of what this value means.
385  **
386  ** The default is 600.
387  **
388  *b Arguments:
389  **
390  *a neighbor2_spring_k - spring constant of springs between
391  ** 2nd neighbor masses
392  **
393  *b Callable From:
394  **
395  *- - C++
396  *- - Script
397  */
398  void set_neighbor2_spring_k(float neighbor2_spring_k);
399 
400  /*l
401  *b Returns:
402  **
403  ** spring constant of springs between 2nd neighbor masses; see
404  ** set_neighbor2_spring_k()
405  **
406  *b Callable From:
407  **
408  *- - C++
409  *- - Script
410  */
411  float get_neighbor2_spring_k();
412 
413  /*l
414  *b Description:
415  **
416  ** This function sets the damping constant of springs connecting 2nd
417  ** neighbor chain masses of the chain simulation using these
418  ** settings.
419  **
420  ** See set_spring_b() for a discussion of what this value means.
421  **
422  ** The default is 5.
423  **
424  *b Arguments:
425  **
426  *a neighbor2_spring_b - damping constant of springs between
427  ** 2nd neighbor masses
428  **
429  *b Callable From:
430  **
431  *- - C++
432  *- - Script
433  */
434  void set_neighbor2_spring_b(float neighbor2_spring_b);
435 
436  /*l
437  *b Returns:
438  **
439  ** damping constant of springs between 2nd neighbor masses; see
440  ** set_neighbor2_spring_b()
441  **
442  *b Callable From:
443  **
444  *- - C++
445  *- - Script
446  */
447  float get_neighbor2_spring_b();
448 
449  /*l
450  *b Description:
451  **
452  ** This function sets the spring constant of the ground model.
453  **
454  ** A higher spring constant will result in a harder ground that
455  ** bounces chain masses higher when they come in contact with the
456  ** ground. Also, chain masses will not sink as far into the ground
457  ** when they come to rest.
458  **
459  ** A tile floor would have a high spring constant, while a mattress
460  ** would have a low spring constant.
461  **
462  ** The default is 5000.
463  **
464  *b Arguments:
465  **
466  *a ground_k - spring constant of ground model
467  **
468  *b Callable From:
469  **
470  *- - C++
471  *- - Script
472  */
473  void set_ground_k(float ground_k);
474 
475  /*l
476  *b Returns:
477  **
478  ** spring constant of ground model; see set_ground_k()
479  **
480  *b Callable From:
481  **
482  *- - C++
483  *- - Script
484  */
485  float get_ground_k();
486 
487  /*l
488  *b Description:
489  **
490  ** This function sets the damping constant of the ground model.
491  **
492  ** A higher damping constant will result in a ground that absorbs
493  ** impacts and doesn't bounce masses as much when they hit the
494  ** ground.
495  **
496  ** A tile floor would have a low damping constant, while an exercise
497  ** mat would have a high damping constant.
498  **
499  ** The default is 100.
500  **
501  *b Arguments:
502  **
503  *a ground_b - vertical damping constant of ground model
504  **
505  *b Callable From:
506  **
507  *- - C++
508  *- - Script
509  */
510  void set_ground_b(float ground_b);
511 
512  /*l
513  *b Returns:
514  **
515  ** vertical damping constant of ground model; see set_ground_b()
516  **
517  *b Callable From:
518  **
519  *- - C++
520  *- - Script
521  */
522  float get_ground_b();
523 
524  /*l
525  *b Description:
526  **
527  ** This function sets how much the ground model slows down masses
528  ** that are sliding on it.
529  **
530  ** A higher lateral damping constant will quickly slow down masses
531  ** sliding along the ground.
532  **
533  ** Dirt or grass ground would have a high lateral damping constant.
534  ** Ice would have a very low damping constant.
535  **
536  ** The default is 0.5.
537  **
538  *b Arguments:
539  **
540  *a ground_lateral_b - lateral damping constant of ground model
541  **
542  *b Callable From:
543  **
544  *- - C++
545  *- - Script
546  */
547  void set_ground_lateral_b(float ground_lateral_b);
548 
549  /*l
550  *b Returns:
551  **
552  ** lateral damping constant of ground model; see
553  ** set_ground_lateral_b()
554  **
555  *b Callable From:
556  **
557  *- - C++
558  *- - Script
559  */
560  float get_ground_lateral_b();
561 
562  /*l
563  *b Description:
564  **
565  ** This function sets how slow a mass in contact with the ground must
566  ** go in order for the mass to stop moving and "stick" to the ground.
567  ** This is a simple form of "stiction".
568  **
569  ** A mass will unstick if the force being applied to it exceeds the
570  ** stiction release force as set by
571  ** set_ground_stiction_release_force().
572  **
573  ** The default is 0.05 m/s.
574  **
575  *b Arguments:
576  **
577  *a ground_stiction_engage_vel - velocity at stiction will engage
578  **
579  *b Callable From:
580  **
581  *- - C++
582  *- - Script
583  */
584  void set_ground_stiction_engage_vel(float ground_stiction_engage_vel);
585 
586  /*l
587  *b Returns:
588  **
589  ** velocity at stiction will engage; see
590  ** set_ground_stiction_engage_vel()
591  **
592  *b Callable From:
593  **
594  *- - C++
595  *- - Script
596  */
597  float get_ground_stiction_engage_vel();
598 
599  /*l
600  *b Description:
601  **
602  ** This function sets how much force is required to cause a mass that
603  ** has stuck to the ground because of stiction to be released.
604  **
605  ** The default is 10 newtons.
606  **
607  *b Arguments:
608  **
609  *a ground_stiction_release_force - force at which masses will
610  *a release from stiction
611  **
612  *b Callable From:
613  **
614  *- - C++
615  *- - Script
616  */
617  void set_ground_stiction_release_force(float ground_stiction_release_force);
618 
619  /*l
620  *b Returns:
621  **
622  ** force at which masses will release from stiction; see
623  ** set_ground_stiction_release_force()
624  **
625  *b Callable From:
626  **
627  *- - C++
628  *- - Script
629  */
630  float get_ground_stiction_release_force();
631 
632  /*l
633  *b Description:
634  **
635  ** This function sets the height of the ground model. Chain masses
636  ** below this height will be repelled upward based on their mass and
637  ** the ground spring and damping constants.
638  **
639  ** Currently the ground is a level plane.
640  **
641  ** The default is 0 meters.
642  **
643  *b Arguments:
644  **
645  *a ground_height - height of the ground model, in meters
646  **
647  *b Callable From:
648  **
649  *- - C++
650  *- - Script
651  */
652  void set_ground_height(float ground_height);
653 
654  /*l
655  *b Returns:
656  **
657  ** height of the ground model; see set_ground_height()
658  **
659  *b Callable From:
660  **
661  *- - C++
662  *- - Script
663  */
664  float get_ground_height();
665 
666  /*l
667  *b Description:
668  **
669  ** This function sets the damping constant caused by air resistance.
670  **
671  ** A higher air damping constant will result in chains that don't
672  ** swing as much. A low air damping constant will result in chains
673  ** that swing freely for a long time.
674  **
675  ** Water would have a very high "air" damping constant. A clock
676  ** pendulum would have a very low air damping constant.
677  **
678  ** The default is 0.1.
679  **
680  *b Arguments:
681  **
682  *a air_b - damping constant of air, or air resistance
683  **
684  *b Callable From:
685  **
686  *- - C++
687  *- - Script
688  */
689  void set_air_b(float air_b);
690 
691  /*l
692  *b Returns:
693  **
694  ** damping constant of air; see set_air_b()
695  **
696  *b Callable From:
697  **
698  *- - C++
699  *- - Script
700  */
701  float get_air_b();
702 
703  /*l
704  *b Description:
705  **
706  ** This function sets how strongly link masses will be accelerated in
707  ** the gravity direction, typically downward.
708  **
709  ** The default is (0, 0, -9.8), in meters per second squared.
710  **
711  *b Arguments:
712  **
713  *a x, y, z - accelerations due to gravity
714  **
715  *b Callable From:
716  **
717  *- - C++
718  *- - Script
719  */
720  void set_gravity(float x, float y, float z);
721 
722  /*l
723  *b Returns:
724  **
725  ** x, y, and z components of gravity; see set_gravity()
726  **
727  *b Callable From:
728  **
729  *- - C++
730  *- - Script
731  */
732  void get_gravity(float* x, float* y, float* z);
733 
734 
735 /*****************************************************************************/
741  /*l
742  *b Description:
743  **
744  ** This function sets the radius of the chain visual.
745  **
746  ** The default is 0.05 meters.
747  **
748  *b Arguments:
749  **
750  *a radius - radius of chain visual, in meters
751  **
752  *b Callable From:
753  **
754  *- - C++
755  *- - Script
756  */
757  void set_radius(float radius);
758 
759  /*l
760  *b Returns:
761  **
762  ** radius of chain visual; see set_radius()
763  **
764  *b Callable From:
765  **
766  *- - C++
767  *- - Script
768  */
769  float get_radius();
770 
771  /*l
772  *b Description:
773  **
774  ** This function sets the ambient color of the chain visual. Passed
775  ** values should be between 0 and 1.
776  **
777  ** The default values are (0.4, 0.4, 0.4, 1).
778  **
779  *b Arguments:
780  **
781  *a r - red component
782  *a g - blue component
783  *a b - green component
784  *a a - alpha component
785  **
786  *b Callable From:
787  **
788  *- - C++
789  *- - Script
790  */
791  void set_ambient_color(float r, float g, float b, float a);
792 
793  /*l
794  *b Description:
795  **
796  ** This function gets the ambient color of the chain visual. Values
797  ** are returned via the passed pointers.
798  **
799  *b Arguments:
800  **
801  *a r - red component
802  *a g - blue component
803  *a b - green component
804  *a a - alpha component
805  **
806  *b Callable From:
807  **
808  *- - C++
809  *- - Script
810  */
811  void get_ambient_color(float* r, float* g, float* b, float* a);
812 
813  /*l
814  *b Description:
815  **
816  ** This function sets the diffuse color of the chain visual. Passed
817  ** values should be between 0 and 1.
818  **
819  ** The default values are (1, 1, 1, 1).
820  **
821  *b Arguments:
822  **
823  *a r - red component
824  *a g - blue component
825  *a b - green component
826  *a a - alpha component
827  **
828  *b Callable From:
829  **
830  *- - C++
831  *- - Script
832  */
833  void set_diffuse_color(float r, float g, float b, float a);
834 
835  /*l
836  *b Description:
837  **
838  ** This function gets the diffuse color of the chain visual. Values
839  ** are returned via the passed pointers.
840  **
841  *b Arguments:
842  **
843  *a r - red component
844  *a g - blue component
845  *a b - green component
846  *a a - alpha component
847  **
848  *b Callable From:
849  **
850  *- - C++
851  *- - Script
852  */
853  void get_diffuse_color(float* r, float* g, float* b, float* a);
854 
855  /*l
856  *b Description:
857  **
858  ** This function sets the specular color of the chain visual. Passed
859  ** values should be between 0 and 1.
860  **
861  ** The default values are (1, 1, 1, 1).
862  **
863  *b Arguments:
864  **
865  *a r - red component
866  *a g - blue component
867  *a b - green component
868  *a a - alpha component
869  **
870  *b Callable From:
871  **
872  *- - C++
873  *- - Script
874  */
875  void set_specular_color(float r, float g, float b, float a);
876 
877  /*l
878  *b Description:
879  **
880  ** This function gets the specular color of the chain visual. Values
881  ** are returned via the passed pointers.
882  **
883  *b Arguments:
884  **
885  *a r - red component
886  *a g - blue component
887  *a b - green component
888  *a a - alpha component
889  **
890  *b Callable From:
891  **
892  *- - C++
893  *- - Script
894  */
895  void get_specular_color(float* r, float* g, float* b, float* a);
896 
897  /*l
898  *b Description:
899  **
900  ** This function sets the shininess of the chain visual.
901  **
902  ** The default is 20.
903  **
904  *b Arguments:
905  **
906  *a shininess - the shininess of the chain visual
907  **
908  *b Callable From:
909  **
910  *- - C++
911  *- - Script
912  */
913  void set_shininess(float shininess);
914 
915  /*l
916  *b Returns:
917  **
918  ** the shininess of the chain visual; see set_shininess()
919  **
920  *b Callable From:
921  **
922  *- - C++
923  *- - Script
924  */
925  float get_shininess();
926 
927  /*l
928  *b Description:
929  **
930  ** This function sets the filename of the texture that will be used
931  ** for the chain visual.
932  **
933  ** Common textures are:
934  **
935  *- - "chain_link.rgba"
936  *- - "firefighter_hose2.rgb"
937  **
938  ** The default is "" (no texture).
939  **
940  *b Arguments:
941  **
942  *a texture_filename - filename of texture of chain visual
943  **
944  *b Callable From:
945  **
946  *- - C++
947  *- - Script
948  */
949  void set_texture_filename(const char* texture_filename);
950 
951  /*l
952  *b Returns:
953  **
954  ** filename of texture of chain visual; see set_texture_filename()
955  **
956  *b Callable From:
957  **
958  *- - C++
959  *- - Script
960  */
961  const char* get_texture_filename();
962 
963  /*l
964  *b Description:
965  **
966  ** This function sets how many times the texture will be repeated
967  ** along the length of the chain.
968  **
969  ** The default is 1 rep.
970  **
971  *b Arguments:
972  **
973  *a num_texture_repetitions - how many times texture will be
974  *a repeated on chain visual
975  **
976  *b Callable From:
977  **
978  *- - C++
979  *- - Script
980  */
981  void set_num_texture_repetitions(int num_texture_repetitions);
982 
983  /*l
984  *b Returns:
985  **
986  ** how many times texture will be repeated on chain visual; see
987  ** set_num_texture_repetitions()
988  **
989  *b Callable From:
990  **
991  *- - C++
992  *- - Script
993  */
994  int get_num_texture_repetitions();
995 
996  /*l
997  *b Description:
998  **
999  ** This function sets what the "cross section" of the chain visual
1000  ** will be.
1001  **
1002  ** See the documentation for diguyChainCrossSection for information
1003  ** on what the different cross sections mean.
1004  **
1005  ** The default is DIGUY_CHAIN_CROSS_SECTION_SQUARE.
1006  **
1007  *b Arguments:
1008  **
1009  *a cs - cross section of the chain visual
1010  **
1011  *b Callable From:
1012  **
1013  *- - C++
1014  *- - Script
1015  */
1016  void set_cross_section(diguyChainCrossSection cs);
1017 
1018  /*l
1019  *b Returns:
1020  **
1021  ** cross section type of chain visual; see set_cross_section()
1022  **
1023  *b Callable From:
1024  **
1025  *- - C++
1026  *- - Script
1027  */
1028  diguyChainCrossSection get_cross_section();
1029 
1030  /*l
1031  *b Description:
1032  **
1033  ** Set the shape that will be attached to the beginning end of the
1034  ** chain. Options are:
1035  **
1036  *- - "chain_cap_firehose_nozzle"
1037  *- - "chain_cap_fuel_hose_nozzle"
1038  *- - "chain_cap_taser_probe"
1039  *- - "chain_cap_chain_hook"
1040  **
1041  ** The default is "" (no begin cap).
1042  **
1043  *b Arguments:
1044  **
1045  *a appearance_begin_cap - name of begin cap
1046  **
1047  *b Callable From:
1048  **
1049  *- - C++
1050  *- - Script
1051  */
1052  void set_appearance_begin_cap(const char* appearance_begin_cap);
1053 
1054  /*l
1055  *b Returns:
1056  **
1057  ** name of cap appearance at beginning of chain; see
1058  ** set_appearance_begin_cap()
1059  **
1060  *b Callable From:
1061  **
1062  *- - C++
1063  *- - Script
1064  */
1065  const char* get_appearance_begin_cap();
1066 
1067  /*l
1068  *b Description:
1069  **
1070  ** Sets the shape that will be attached to the end of the chain. See
1071  ** set_appearance_begin_cap().
1072  **
1073  ** The default is "" (no end cap).
1074  **
1075  *b Arguments:
1076  **
1077  *a appearance_end_cap - name of end cap
1078  **
1079  *b Callable From:
1080  **
1081  *- - C++
1082  *- - Script
1083  */
1084  void set_appearance_end_cap(const char* appearance_end_cap);
1085 
1086  /*l
1087  *b Returns:
1088  **
1089  ** name of cap appearance at end of chain; see
1090  ** set_appearance_end_cap()
1091  **
1092  *b Callable From:
1093  **
1094  *- - C++
1095  *- - Script
1096  */
1097  const char* get_appearance_end_cap();
1098 
1099 
1100 /*****************************************************************************/
1106  /*l
1107  *b Description:
1108  **
1109  ** For chains with the DIGUY_CHAIN_CROSS_SECTION_COIL cross section,
1110  ** sets the number of coil windings of the chain.
1111  **
1112  ** The default is 4 coils.
1113  **
1114  *b Arguments:
1115  **
1116  *a num_coils - number of coil windings
1117  **
1118  *b Callable From:
1119  **
1120  *- - C++
1121  *- - Script
1122  */
1123  void set_num_coils(int num_coils);
1124 
1125  /*l
1126  *b Returns:
1127  **
1128  ** number of coils for chain visual of type
1129  ** DIGUY_CHAIN_CROSS_SECTION_COIL; see set_num_coils()
1130  **
1131  *b Callable From:
1132  **
1133  *- - C++
1134  *- - Script
1135  */
1136  int get_num_coils();
1137 
1138  /*l
1139  *b Description:
1140  **
1141  ** Sets how thick the coil will be.
1142  **
1143  ** The default is 0.02 meters.
1144  **
1145  *b Arguments:
1146  **
1147  *a coil_thickness - thickness of coil
1148  **
1149  *b Callable From:
1150  **
1151  *- - C++
1152  *- - Script
1153  */
1154  void set_coil_thickness(float coil_thickness);
1155 
1156  /*l
1157  *b Returns:
1158  **
1159  ** thickness of coils for chain visual of type
1160  ** DIGUY_CHAIN_CROSS_SECTION_COIL; see set_coil_thickness()
1161  **
1162  *b Callable From:
1163  **
1164  *- - C++
1165  *- - Script
1166  */
1167  float get_coil_thickness();
1169  /*l
1170  *b Description:
1171  **
1172  ** Sets at which mass in the coil the thickness of the coil will
1173  ** reach its full radius.
1174  **
1175  ** The default is 6.
1176  **
1177  *b Arguments:
1178  **
1179  *a coil_taper_begin_mass_count - chain mass at which to begin taper
1180  **
1181  *b Callable From:
1182  **
1183  *- - C++
1184  *- - Script
1185  */
1186  void set_coil_taper_begin_mass_count(int coil_taper_begin_mass_count);
1187 
1188  /*l
1189  *b Returns:
1190  **
1191  ** mass at which the coil will reach its full radius at the beginning
1192  ** of chain; see set_coil_taper_begin_mass_count()
1193  **
1194  *b Callable From:
1195  **
1196  *- - C++
1197  *- - Script
1198  */
1199  int get_coil_taper_begin_mass_count();
1200 
1201  /*l
1202  *b Description:
1203  **
1204  ** Similar to set_coil_taper_begin_mass_count(), but for the end of
1205  ** the chain.
1206  **
1207  ** The default is 0.
1208  **
1209  *b Arguments:
1210  **
1211  *a coil_taper_end_mass_count - chain mass at which to end taper
1212  **
1213  *b Callable From:
1214  **
1215  *- - C++
1216  *- - Script
1217  */
1218  void set_coil_taper_end_mass_count(int coil_taper_end_mass_count);
1219 
1220  /*l
1221  *b Returns:
1222  **
1223  ** mass at which the coil will reach its full radius at end of chain;
1224  ** see set_coil_taper_end_mass_count()
1225  **
1226  *b Callable From:
1227  **
1228  *- - C++
1229  *- - Script
1230  */
1231  int get_coil_taper_end_mass_count();
1232 
1237 #ifdef CPLUSPLUS_ONLY
1238 
1239  bdiScenarioChainSettings* get_scripted_object() {return m_scripted_object;}
1240 
1241 private:
1242 
1243  /*l
1244  ** A private constructor.
1245  */
1246  diguyChainSettings(bdiScenarioChainSettings* scripted_object);
1247 
1248  /*l
1249  ** A private destructor.
1250  */
1251  ~diguyChainSettings();
1252 
1253  /*l
1254  ** A pointer to internal data.
1255  */
1256  bdiScenarioChainSettings* m_scripted_object;
1257 
1258  friend class bdiScenarioChainSettings;
1259 
1260 #endif
1261 
1262 };
1263 
1264 
1265 #endif /* __diguyChainSettings_H */
1266 
1267 
1268 /*********************************************************************
1269  ** Copyright (c) 1992-2014 VT MAK
1270  ** All rights reserved.
1271  *********************************************************************/
1272