HIK2014/humanik/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 
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 
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 
679 
688 
695 
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 
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
The value of the property is a scalar distance.
Definition: hikproperty.h:554
Defines how motion is distributed over the character's neck bones.
Definition: hikproperty.h:307
When retargeting an animation to a target character that has more fingers or finger joints than the s...
Definition: hikproperty.h:430
int HIKIsPropertyAuto(HIKPropertySetState *pState, int pPropertyId)
Indicates whether or not the current mode of property pPropertyId in HIKPropertySetState pState is "a...
Defines the distance from the wrist to the inside edge of the model's hand (the side of the thumb)...
Definition: hikproperty.h:158
The Tip Sizes properties adjust the size of the floor markers used to outline the character's fingert...
Definition: hikproperty.h:369
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
Compensates for the difference in action space between source and target characters.
Definition: hikproperty.h:67
Defines the distance from the ankle to the inside edge of the model's foot (the instep).
Definition: hikproperty.h:151
Defines the distance from the ankle to the middle of the model's foot (its ball, or toe base)...
Definition: hikproperty.h:149
Sets the stretch reach for this Node, which determines how freely the limb may stretch to reach a dis...
Definition: hikproperty.h:455
If your source and target character have their ankles at different heights above the floor...
Definition: hikproperty.h:77
Defines a stable point when applying floor contact.
Definition: hikproperty.h:292
Defines the distance from the wrist to the outside edge of the model's hand (the side with the pinky)...
Definition: hikproperty.h:159
This property allows to lock the character's hips on it's TStance default position.
Definition: hikproperty.h:508
int HIKGetPropertyMode(HIKPropertySetState *pState, int pPropertyId)
Retrieves the current mode set for property pPropertyId in HIKPropertySetState pState.
void(* HIKFree)(void *)
Memory de-allocator function.
Definition: humanik.h:393
When a roll rotation is applied to the character's ankle, this parameter determines the percentage of...
Definition: hikproperty.h:439
Properties with this mode type are always On, and their current values are always taken into account ...
Definition: hikproperty.h:530
Sets the number of times pull is calculated.
Definition: hikproperty.h:365
const char * HIKGetPropertyModeName(int pPropertyId, int pMode)
Retrieves a human-readable, English-language string that identifies mode pMode for property pProperty...
Activates the floor contact engine for your character's toes.
Definition: hikproperty.h:185
enum HIKPropertyValueType eHIKPropertyValueType
see enum HIKPropertyValueType
Definition: hikproperty.h:563
Mirrors a Character's pose along the X-axis.
Definition: hikproperty.h:214
Sets the roll stiffness of the fingers.
Definition: hikproperty.h:346
Defines the distance from the wrist to the bottom of the model's hand.
Definition: hikproperty.h:154
Determines the behavior of the fingers when they make contact with the floor.
Definition: hikproperty.h:175
HIKPropertyValueType
Lists the possible value types for character properties.
Definition: hikproperty.h:540
Defines how the angle of the wrist joint reacts to a floor contact.
Definition: hikproperty.h:353
This property constrains the positions in space of the target character's limbs to those of the selec...
Definition: hikproperty.h:61
enum HIKPropertyUnit eHIKPropertyUnit
see enum HIKPropertyUnit
Definition: hikproperty.h:565
Sets the percentage of the arm or leg length at which those limbs can begin to stretch.
Definition: hikproperty.h:444
Defines a stable point when applying floor contact. Auto, Ankle or Toes.
Definition: hikproperty.h:301
The Kill Pitch properties remove the pitch axis on the left and right knees and elbows.
Definition: hikproperty.h:218
Defines how roll extraction is performed:
Definition: hikproperty.h:359
HIKPropertyModeType
Lists the possible mode types for character properties.
Definition: hikproperty.h:528
HIKPropertySetState * HIKPropertySetStateCreate(HIKMalloc pMalloc)
Create a new HIKPropertySetState.
Sets the stretch reach for this Node, which determines how freely the neck may stretch to reach a dis...
Definition: hikproperty.h:475
float HIKGetPropertyValue(HIKPropertySetState *pState, int pPropertyId)
Retrieves the current value set for property pPropertyId in HIKPropertySetState pState.
void HIKPropertySetStateDestroy(HIKPropertySetState *pPropertySetState, HIKFree pFree)
Destroy HIKPropertySetState pPropertySetState.
Specific to MotionBuilder.
Definition: hikproperty.h:295
Defines the distance from the ankle to the outside edge of the model's foot.
Definition: hikproperty.h:152
Lets you choose the behavior of the toes when they make contact with the floor.
Definition: hikproperty.h:191
Determines the amount of scaling to apply to the Nodes in the arms and legs when those limbs are squa...
Definition: hikproperty.h:450
Activates the floor contact engine for your character's fingers.
Definition: hikproperty.h:169
#define HIK_EXPORT
Definition: humanik.h:56
Defines the distance from the wrist to the back of the model's hand.
Definition: hikproperty.h:155
The value of the property is stored in seconds.
Definition: hikproperty.h:553
Property is a scalar.
Definition: hikproperty.h:542
Determines the amount of scaling to apply to the Nodes in the spine when the spine is squashed or str...
Definition: hikproperty.h:463
HIKPropertySetState * HIKPropertySetStateCreateInPlace(void *pBuffer)
Create a new HIKPropertySetState in the buffer pBuffer.
Specific to MotionBuilder.
Definition: hikproperty.h:285
This property is used in cunjunction of SnS Neck & Spine Reach value.
Definition: hikproperty.h:506
Sets the stretch reach for this Node, which determines how freely the spine may stretch to reach a di...
Definition: hikproperty.h:469
Properties with this mode type can be set to any of the Off (0), Auto (1), or User (2) modes...
Definition: hikproperty.h:532
const char * HIKGetPropertyEnumName(int pPropertyId, int pValue)
Retrieves a human-readable, English-language string that identifies the enumeration value pValue for ...
Sets the maximum angle of extension for the Node.
Definition: hikproperty.h:401
HIKPropertyUnit
Lists the possible unit types for character properties.
Definition: hikproperty.h:549
Determines whether or not the neck and collar Nodes (or shoulder Nodes if no collar Nodes are charact...
Definition: hikproperty.h:466
Sets the contact type for the character's hands, which defines the number and orientation of the mark...
Definition: hikproperty.h:166
void HIKSetPropertyValue(HIKPropertySetState *pState, int pPropertyId, float pValue)
Sets the current value for property pPropertyId in HIKPropertySetState pState.
Sets the percentage of the arm or leg length at which those limbs stop stretching freely...
Definition: hikproperty.h:447
Defines the distance from the wrist to the front end of the model's fingers.
Definition: hikproperty.h:157
Specific to MotionBuilder.
Definition: hikproperty.h:317
The Hips and Chest Offset properties offset the translation of the character's hips and chest along e...
Definition: hikproperty.h:276
Adjusts the height of the target character's hips.
Definition: hikproperty.h:87
eHIKPropertyModeType HIKGetPropertyInfoModeType(int pPropertyId)
Retrieves the mode type for property pPropertyId.
Defines the distance from the ankle to the bottom of the model's foot.
Definition: hikproperty.h:147
Defines a character's properties.
Definition: humanik.h:457
Adjusts the spacing between the left and right ankles of the target character relative to the source ...
Definition: hikproperty.h:82
The value of the property is an integer, whose interpretation is defined by an enumeration specific t...
Definition: hikproperty.h:556
Defines the distance from the ankle to the back of the model's foot.
Definition: hikproperty.h:148
float HIKGetPropertyInfoDefaultMin(int pPropertyId)
Retrieves the minimum accepted value for property pPropertyId.
int HIKGetPropertyId(const char *pName)
Retrieves the unique ID of property pName from its descriptive name.
The value of the property is an arbitrary floating-point number.
Definition: hikproperty.h:557
HIKProperty
Lists all character properties contained in the HIKPropertySetState.
Definition: hikproperty.h:55
The Resist Compression Factor properties dampen the compression of extended legs and arms as they con...
Definition: hikproperty.h:338
int HIKGetPropertyInfoDefaultMode(int pPropertyId)
Retrieves the default mode for property pPropertyId.
Defines the distance from the wrist to the middle of the model's hand (its knuckles, or finger base).
Definition: hikproperty.h:156
Defines how motion is distributed over the character's spine bones.
Definition: hikproperty.h:272
int HIKIsPropertyDescription(int pPropertyId)
Indicates whether or not the property is a description.
Specific to MotionBuilder.
Definition: hikproperty.h:298
eHIKPropertyValueType HIKGetPropertyInfoValueType(int pPropertyId)
Retrieves the value type for property pPropertyId.
Determines the amount of scaling to apply to the Nodes in the neck when the neck is squashed or stret...
Definition: hikproperty.h:472
Indicates that the value of this property should never be used.
Definition: hikproperty.h:551
The Roll properties adjust the way roll rotations on the shoulders, elbows, hips and knees are shifte...
Definition: hikproperty.h:201
size_t HIKPropertySetStateSize()
Retrieves the size of an HIKPropertySetState object in bytes.
When human shoulders rotate, they move upwards.
Definition: hikproperty.h:397
Defines the distance from the ankle to the front end of the model's toes.
Definition: hikproperty.h:150
The value of the property is expressed in the range between 0.0 and 1.0.
Definition: hikproperty.h:552
float HIKGetPropertyInfoDefaultMax(int pPropertyId)
Retrieves the maximum accepted value for property pPropertyId.
The RollEx properties adjust the way roll rotations on the optional roll Nodes are shifted to their c...
Definition: hikproperty.h:487
Defines how the angle of the ankle joint reacts to a floor contact.
Definition: hikproperty.h:324
This property allows to switch on/off realistic arm solving.
Definition: hikproperty.h:512
void *(* HIKMalloc)(size_t)
Memory allocator function.
Definition: humanik.h:388
Sets the contact type for the character's feet, which defines the number and orientation of the marke...
Definition: hikproperty.h:182
The Reach properties control how closely the target character's Nodes are in the final solution to th...
Definition: hikproperty.h:423
This property is used only when a source animation used for a retargeting bends forward at the waist ...
Definition: hikproperty.h:503
The Pull properties determine the extent to which parts of the body can pull other parts of the body ...
Definition: hikproperty.h:232
The Resist Maximum Extension properties dampen the extension of the legs and arms as they reach their...
Definition: hikproperty.h:329
Activates the floor contact engine for the character's hands.
Definition: hikproperty.h:153
Activates the floor contact engine for the character's feet.
Definition: hikproperty.h:146
float HIKGetPropertyInfoDefaultValue(int pPropertyId)
Retrieves the default value for property pPropertyId.
Resist is the rotation equivalent of Pull.
Definition: hikproperty.h:257
Smooths leg movements by preventing a Character's hips from pulling down too quickly when the legs ar...
Definition: hikproperty.h:72
void HIKSetPropertyMode(HIKPropertySetState *pState, int pPropertyId, int pMode)
Sets the current mode for property pPropertyId in HIKPropertySetState pState.
const char void * pValue
Definition: fbcontrols.h:2116
eHIKPropertyUnit HIKGetPropertyInfoUnit(int pPropertyId)
Retrieves the unit type for property pPropertyId.
Specifies the behavior of the HipsTranslationId Node.
Definition: hikproperty.h:314
Properties with this mode type can be set to either the Off (0) or On (1) mode.
Definition: hikproperty.h:531
void HIKPropertySetStateCopy(HIKPropertySetState *pStateOut, HIKPropertySetState *pStateIn)
Copies all values and mode settings from HIKPropertySetState pStateIn to HIKPropertySetState pStateOu...
enum HIKPropertyModeType eHIKPropertyModeType
see enum HIKPropertyModeType
Definition: hikproperty.h:561
Sets the roll stiffness of the fingers.
Definition: hikproperty.h:345
The Reach properties control how closely the target character's Nodes are in the final solution to th...
Definition: hikproperty.h:93
int HIKIsPropertyActive(HIKPropertySetState *pState, int pPropertyId)
Indicates whether or not property pPropertyId in HIKPropertySetState pState is active–i.e.
#define HIK_API
Definition: humanik.h:60
const char * HIKGetPropertyName(int pPropertyId)
Retrieves a human-readable, English-language string that identifies property pPropertyId.
Defines how shoulder rotation is distributed over the collar Nodes.
Definition: hikproperty.h:410
The value of the property is stored in degrees.
Definition: hikproperty.h:555
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
Marks the end of the enumeration.
Definition: hikproperty.h:513