hikproperty.h Source File

hikproperty.h
Go to the documentation of this file.
1 
7 /**************************************************************************************
8 
9 Copyright (C) 2009 Autodesk, Inc.
10 All Rights Reserved.
11 
12 The coded instructions, statements, computer programs, and/or related material (collectively "Data")
13 in these files contain unpublished information proprietary to Autodesk, Inc., ("Autodesk") which is
14 protected by Canada and United States of America federal copyright law and by international treaties.
15 
16 The Data may not be disclosed or distributed to third parties, in whole or in part, without the prior
17 written consent of Autodesk.
18 
19 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED.
20 AUTODESK MAKES NO WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING BY CUSTOM
21 OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
22 FITNESS FOR A PARTICULAR PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT
23 THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE.
24 
25 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS OR SUPPLIERS ("AUTODESK GROUP")
26 BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR
27 MULTIPLE DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
28 OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS
29 OF THE THEORY OF LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO,
30 NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
31 WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
32 
33 **************************************************************************************/
34 
35 #ifndef HIKPROPERTY_H
36 #define HIKPROPERTY_H
37 
38 #include "humanik.h"
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 // ***********************************************
52 enum HIKProperty
56 {
62 
63 
68 
73 
78 
83 
88 
90 
142 
144 
145  // Each floor contact position setting defines a different aspect of the floor contact area.
160 
167 
170 
176 
183 
186 
192 
194 
210 
215 
223 
225 
247  HIKCtrlResistHipsPositionId, // bob: This is Hips Pull
248  HIKCtrlEnforceGravityId, // bob: Hips Pull sub-param
250 
252 
267 
273 
283 
286 
293 
296 
299 
302 
308 
315 
318 
325 
334 
343 
344 
347 
353  HIKHandContactStiffness, //< See HIKFootContactStiffnessId
354 
360 
366 
394 
398 
406 
411 
418 
420 
426 
431 
433 
442 
451  // @{
459  // @}
460 
476 
478 
496 
504  HIKLowerSpineCorrectionId,
509  HIKLockYId,
510  HIKLockZId,
514 };
515 
529 {
534 };
535 
541 {
543 };
544 
550 {
558 };
559 
566 
567 // ***********************************************
582 HIK_EXPORT const char* HIK_API HIKGetPropertyName(int pPropertyId);
583 
589 HIK_EXPORT int HIK_API HIKGetPropertyId(const char* pName);
590 
596 HIK_EXPORT eHIKPropertyModeType HIK_API HIKGetPropertyInfoModeType(int pPropertyId);
597 
603 HIK_EXPORT eHIKPropertyValueType HIK_API HIKGetPropertyInfoValueType(int pPropertyId);
604 
610 HIK_EXPORT eHIKPropertyUnit HIK_API HIKGetPropertyInfoUnit(int pPropertyId);
611 
617 HIK_EXPORT int HIK_API HIKGetPropertyInfoDefaultMode(int pPropertyId);
618 
624 HIK_EXPORT float HIK_API HIKGetPropertyInfoDefaultValue(int pPropertyId);
625 
631 HIK_EXPORT float HIK_API HIKGetPropertyInfoDefaultMin(int pPropertyId);
632 
638 HIK_EXPORT float HIK_API HIKGetPropertyInfoDefaultMax(int pPropertyId);
639 
646 HIK_EXPORT const char* HIK_API HIKGetPropertyModeName(int pPropertyId, int pMode);
647 
654 HIK_EXPORT const char* HIK_API HIKGetPropertyEnumName(int pPropertyId, int pValue);
655 
666 HIK_EXPORT int HIK_API HIKIsPropertyDescription(int pPropertyId);
667 
668 
669 
670 
672 //
673 
678 HIK_EXPORT HIKPropertySetState * HIK_API HIKPropertySetStateCreate(HIKMalloc pMalloc);
679 
687 HIK_EXPORT HIKPropertySetState * HIK_API HIKPropertySetStateCreateInPlace(void* pBuffer);
688 
694 HIK_EXPORT void HIK_API HIKPropertySetStateDestroy(HIKPropertySetState *pPropertySetState, HIKFree pFree);
695 
699 HIK_EXPORT size_t HIK_API HIKPropertySetStateSize();
700 
701 
702 
703 // ***********************************************
719 HIK_EXPORT int HIK_API HIKGetPropertyMode (HIKPropertySetState *pState, int pPropertyId);
720 
727 HIK_EXPORT float HIK_API HIKGetPropertyValue(HIKPropertySetState *pState, int pPropertyId);
728 
737 HIK_EXPORT void HIK_API HIKSetPropertyMode (HIKPropertySetState *pState, int pPropertyId, int pMode);
738 
745 HIK_EXPORT void HIK_API HIKSetPropertyValue(HIKPropertySetState *pState, int pPropertyId, float pValue);
746 
752 HIK_EXPORT void HIK_API HIKPropertySetStateCopy(HIKPropertySetState *pStateOut,HIKPropertySetState *pStateIn);
753 
760 HIK_EXPORT int HIK_API HIKIsPropertyActive(HIKPropertySetState *pState, int pPropertyId);
761 
768 HIK_EXPORT int HIK_API HIKIsPropertyAuto(HIKPropertySetState *pState, int pPropertyId);
769 
770 
771 
772 #ifdef __cplusplus
773 }
774 #endif
775 
776 #endif
const char * HIKGetPropertyModeName(int pPropertyId, int pMode)
Retrieves a human-readable, English-language string that identifies mode pMode for property pProperty...
Definition: hikproperty.h:118
Definition: hikproperty.h:489
int HIKIsPropertyAuto(HIKPropertySetState *pState, int pPropertyId)
Indicates whether or not the current mode of property pPropertyId in HIKPropertySetState pState is "a...
Definition: hikproperty.h:96
The Kill Pitch properties remove the pitch axis on the left and right knees and elbows.
Definition: hikproperty.h:221
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:373
Specific to MotionBuilder.
Definition: hikproperty.h:317
Definition: hikproperty.h:466
Definition: hikproperty.h:258
Definition: hikproperty.h:141
Definition: hikproperty.h:124
Definition: hikproperty.h:236
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:386
enum HIKPropertyValueType eHIKPropertyValueType
Definition: hikproperty.h:563
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:376
Sets the roll stiffness of the fingers. The higher the value of this property, the less likely the ch...
Definition: hikproperty.h:346
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:378
Definition: hikproperty.h:272
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:387
Definition: hikproperty.h:175
Defines the distance from the wrist to the outside edge of the model's hand (the side with the pinky)...
Definition: hikproperty.h:159
The value of the property is stored in degrees.
Definition: hikproperty.h:555
Activates the floor contact engine for your character's toes.
Definition: hikproperty.h:185
The value of the property is expressed in the range between 0.0 and 1.0.
Definition: hikproperty.h:552
Definition: hikproperty.h:135
Definition: hikproperty.h:241
Definition: hikproperty.h:397
int HIKGetPropertyMode(HIKPropertySetState *pState, int pPropertyId)
Retrieves the current mode set for property pPropertyId in HIKPropertySetState pState.
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:381
Definition: hikproperty.h:338
Sets the maximum angle of extension for the Node.
Definition: hikproperty.h:401
Definition: hikproperty.h:137
Definition: hikproperty.h:105
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:372
Definition: hikproperty.h:113
Definition: hikproperty.h:235
Definition: hikproperty.h:120
Definition: hikproperty.h:488
Definition: hikproperty.h:263
Definition: hikproperty.h:410
Properties with this mode type are always On, and their current values are always taken into account ...
Definition: hikproperty.h:530
Definition: hikproperty.h:264
The value of the property is an arbitrary floating-point number.
Definition: hikproperty.h:557
Definition: hikproperty.h:204
Definition: hikproperty.h:108
Definition: hikproperty.h:239
Definition: hikproperty.h:201
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:369
Defines the distance from the wrist to the bottom of the model's hand.
Definition: hikproperty.h:154
Definition: hikproperty.h:234
void *(* HIKMalloc)(size_t)
Definition: humanik.h:388
Definition: hikproperty.h:110
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:276
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:391
Definition: hikproperty.h:87
HIKPropertyValueType
Lists the possible value types for character properties. See HIKGetPropertyInfoValueType().
Definition: hikproperty.h:540
Definition: hikproperty.h:307
Definition: hikproperty.h:247
Sets the roll stiffness of the fingers. The higher the value of this property, the less likely the ch...
Definition: hikproperty.h:345
Definition: hikproperty.h:125
Definition: hikproperty.h:129
Definition: hikproperty.h:122
Definition: hikproperty.h:246
Definition: hikproperty.h:440
Definition: hikproperty.h:365
Definition: hikproperty.h:67
HIKPropertyModeType
Lists the possible mode types for character properties. See HIKGetPropertyInfoModeType().
Definition: hikproperty.h:528
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:392
Properties with this mode type can be set to either the Off (0) or On (1) mode.
Definition: hikproperty.h:531
Definition: hikproperty.h:106
float HIKGetPropertyValue(HIKPropertySetState *pState, int pPropertyId)
Retrieves the current value set for property pPropertyId in HIKPropertySetState pState.
Specific to MotionBuilder.
Definition: hikproperty.h:298
Definition: hikproperty.h:107
HIKPropertySetState * HIKPropertySetStateCreate(HIKMalloc pMalloc)
Create a new HIKPropertySetState.
void HIKPropertySetStateDestroy(HIKPropertySetState *pPropertySetState, HIKFree pFree)
Destroy HIKPropertySetState pPropertySetState.
Defines a stable point when applying floor contact. Auto, Ankle or Toes.
Definition: hikproperty.h:301
Sets the maximum angle of extension for the Node.
Definition: hikproperty.h:403
enum HIKPropertyUnit eHIKPropertyUnit
Definition: hikproperty.h:565
Definition: hikproperty.h:94
Defines the distance from the wrist to the middle of the model's hand (its knuckles, or finger base).
Definition: hikproperty.h:156
Definition: hikproperty.h:128
Definition: hikproperty.h:238
Main header file for HumanIK.
Definition: hikproperty.h:116
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:279
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:280
Definition: hikproperty.h:104
Definition: hikproperty.h:491
Definition: hikproperty.h:262
Definition: hikproperty.h:109
Definition: hikproperty.h:140
Definition: hikproperty.h:487
Definition: hikproperty.h:131
Definition: hikproperty.h:100
Definition: hikproperty.h:98
Definition: hikproperty.h:97
The value of the property is stored in seconds.
Definition: hikproperty.h:553
Definition: hikproperty.h:206
Definition: hikproperty.h:359
Definition: hikproperty.h:166
Activates the floor contact engine for your character's fingers.
Definition: hikproperty.h:169
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:370
Definition: hikproperty.h:123
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:382
Definition: hikproperty.h:245
void(* HIKFree)(void *)
Definition: humanik.h:393
Definition: hikproperty.h:77
Definition: hikproperty.h:340
Definition: hikproperty.h:240
Definition: hikproperty.h:430
Definition: hikproperty.h:103
Sets the flexibility of the collar bones when rotating around the X, Y and Z axes. Higher values cause the collar to be stiffer and less likely to rotate around the axis; lower values cause the collar to be more flexible and more likely to rotate around the axis.
Definition: hikproperty.h:416
Sets the maximum angle of extension for the Node.
Definition: hikproperty.h:404
Definition: hikproperty.h:463
Definition: hikproperty.h:447
enum HIKPropertyModeType eHIKPropertyModeType
Definition: hikproperty.h:561
Definition: hikproperty.h:257
Definition: hikproperty.h:101
Specific to MotionBuilder.
Definition: hikproperty.h:295
HIKPropertyUnit
Lists the possible unit types for character properties. See HIKGetPropertyInfoUnit().
Definition: hikproperty.h:549
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:371
Defines the distance from the ankle to the outside edge of the model's foot.
Definition: hikproperty.h:152
Definition: hikproperty.h:233
Definition: hikproperty.h:424
Definition: hikproperty.h:132
void HIKSetPropertyValue(HIKPropertySetState *pState, int pPropertyId, float pValue)
Sets the current value for property pPropertyId in HIKPropertySetState pState.
Definition: hikproperty.h:490
Definition: hikproperty.h:331
Definition: hikproperty.h:205
Defines the distance from the ankle to the bottom of the model's foot.
Definition: hikproperty.h:147
Definition: hikproperty.h:475
Definition: hikproperty.h:503
The Kill Pitch properties remove the pitch axis on the left and right knees and elbows.
Definition: hikproperty.h:219
Defines the distance from the ankle to the back of the model's foot.
Definition: hikproperty.h:148
Definition: hikproperty.h:292
const char * HIKGetPropertyName(int pPropertyId)
Retrieves a human-readable, English-language string that identifies property pPropertyId.
Definition: hikproperty.h:444
Definition: hikproperty.h:341
Definition: hikproperty.h:423
Definition: hikproperty.h:111
eHIKPropertyModeType HIKGetPropertyInfoModeType(int pPropertyId)
Retrieves the mode type for property pPropertyId.
Definition: hikproperty.h:133
Defines a character's properties.
Definition: humanik.h:457
Definition: hikproperty.h:130
Definition: hikproperty.h:512
Definition: hikproperty.h:244
Definition: hikproperty.h:493
Definition: hikproperty.h:207
Activates the floor contact engine for the character's hands.
Definition: hikproperty.h:153
Definition: hikproperty.h:339
Definition: hikproperty.h:439
Definition: hikproperty.h:330
Definition: hikproperty.h:494
float HIKGetPropertyInfoDefaultMin(int pPropertyId)
Retrieves the minimum accepted value for property pPropertyId.
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:385
int HIKGetPropertyId(const char *pName)
Retrieves the unique ID of property pName from its descriptive name.
HIKProperty
Lists all character properties contained in the HIKPropertySetState.
Definition: hikproperty.h:55
Defines the distance from the ankle to the inside edge of the model's foot (the instep).
Definition: hikproperty.h:151
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:281
int HIKGetPropertyInfoDefaultMode(int pPropertyId)
Retrieves the default mode for property pPropertyId.
Defines the distance from the ankle to the front end of the model's toes.
Definition: hikproperty.h:150
Activates the floor contact engine for the character's feet.
Definition: hikproperty.h:146
Specific to MotionBuilder.
Definition: hikproperty.h:285
Definition: hikproperty.h:242
Definition: hikproperty.h:237
int HIKIsPropertyDescription(int pPropertyId)
Indicates whether or not the property is a description.
Definition: hikproperty.h:508
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:377
Definition: hikproperty.h:115
Definition: hikproperty.h:259
eHIKPropertyValueType HIKGetPropertyInfoValueType(int pPropertyId)
Retrieves the value type for property pPropertyId.
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:389
Definition: hikproperty.h:138
Sets the maximum angle of extension for the Node.
Definition: hikproperty.h:402
Definition: hikproperty.h:329
Definition: hikproperty.h:261
size_t HIKPropertySetStateSize()
Retrieves the size of an HIKPropertySetState object in bytes.
Definition: hikproperty.h:203
Definition: hikproperty.h:506
Property is a scalar.
Definition: hikproperty.h:542
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:375
float HIKGetPropertyInfoDefaultMax(int pPropertyId)
Retrieves the maximum accepted value for property pPropertyId.
The value of the property is an integer, whose interpretation is defined by an enumeration specific t...
Definition: hikproperty.h:556
const char * HIKGetPropertyEnumName(int pPropertyId, int pValue)
Retrieves a human-readable, English-language string that identifies the enumeration value pValue for ...
Definition: hikproperty.h:119
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:388
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:380
Definition: hikproperty.h:232
Definition: hikproperty.h:191
Definition: hikproperty.h:458
Definition: hikproperty.h:332
Definition: hikproperty.h:99
Definition: hikproperty.h:353
Definition: hikproperty.h:134
Definition: hikproperty.h:102
Definition: hikproperty.h:457
Definition: hikproperty.h:182
Definition: hikproperty.h:260
The value of the property is a scalar distance. The unit of measure should be the same as the unit us...
Definition: hikproperty.h:554
The Kill Pitch properties remove the pitch axis on the left and right knees and elbows.
Definition: hikproperty.h:220
Definition: hikproperty.h:114
Definition: hikproperty.h:202
Definition: hikproperty.h:126
Definition: hikproperty.h:82
float HIKGetPropertyInfoDefaultValue(int pPropertyId)
Retrieves the default value for property pPropertyId.
Sets the flexibility of the collar bones when rotating around the X, Y and Z axes. Higher values cause the collar to be stiffer and less likely to rotate around the axis; lower values cause the collar to be more flexible and more likely to rotate around the axis.
Definition: hikproperty.h:415
Marks the end of the enumeration.
Definition: hikproperty.h:513
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:277
Definition: hikproperty.h:136
Definition: hikproperty.h:93
The Kill Pitch properties remove the pitch axis on the left and right knees and elbows.
Definition: hikproperty.h:218
void HIKSetPropertyMode(HIKPropertySetState *pState, int pPropertyId, int pMode)
Sets the current mode for property pPropertyId in HIKPropertySetState pState.
Definition: hikproperty.h:492
Definition: hikproperty.h:72
Defines the distance from the ankle to the middle of the model's foot (its ball, or toe base)...
Definition: hikproperty.h:149
Definition: hikproperty.h:248
Properties with this mode type can be set to any of the Off (0), Auto (1), or User (2) modes...
Definition: hikproperty.h:532
Definition: hikproperty.h:214
Defines the distance from the wrist to the back of the model's hand.
Definition: hikproperty.h:155
eHIKPropertyUnit HIKGetPropertyInfoUnit(int pPropertyId)
Retrieves the unit type for property pPropertyId.
HIKPropertySetState * HIKPropertySetStateCreateInPlace(void *pBuffer)
Create a new HIKPropertySetState in the buffer pBuffer.
Definition: hikproperty.h:469
Defines the distance from the wrist to the inside edge of the model's hand (the side of the thumb)...
Definition: hikproperty.h:158
void HIKPropertySetStateCopy(HIKPropertySetState *pStateOut, HIKPropertySetState *pStateIn)
Copies all values and mode settings from HIKPropertySetState pStateIn to HIKPropertySetState pStateOu...
Definition: hikproperty.h:450
Sets the flexibility of the collar bones when rotating around the X, Y and Z axes. Higher values cause the collar to be stiffer and less likely to rotate around the axis; lower values cause the collar to be more flexible and more likely to rotate around the axis.
Definition: hikproperty.h:414
Definition: hikproperty.h:95
Definition: hikproperty.h:456
Properties with this mode type can be set to either the Auto (0) or User (1) mode, but cannot be disabled.
Definition: hikproperty.h:533
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:383
Definition: hikproperty.h:208
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:374
Definition: hikproperty.h:472
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:379
Definition: hikproperty.h:117
Definition: hikproperty.h:324
Definition: hikproperty.h:139
int HIKIsPropertyActive(HIKPropertySetState *pState, int pPropertyId)
Indicates whether or not property pPropertyId in HIKPropertySetState pState is active–i.e. whether its value is currently taken into account by the HumanIK solvers.
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:384
Definition: hikproperty.h:243
Defines the distance from the wrist to the front end of the model's fingers.
Definition: hikproperty.h:157
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:278
Definition: hikproperty.h:127
Definition: hikproperty.h:112
Definition: hikproperty.h:265
Definition: hikproperty.h:455
Definition: hikproperty.h:61
Definition: hikproperty.h:121
Indicates that the value of this property should never be used. Typically used only for properties wi...
Definition: hikproperty.h:551
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:390
Definition: hikproperty.h:314