Retrieving Property Information

Retrieving Property Information

Module description

This section describes functions for retrieving information about character properties, such as their minimum and maximum values, mode types, current mode, name, etc.

These functions are typically of use when building a graphical user interface for controlling character properties.

For more information on property modes, mode types, and values, see ~{ Character Properties }~.

Enumerations

enum  HIKPropertyModeType {
  HIKPropertyNoMode = 0, HIKPropertyOffOn, HIKPropertyOffAutoUser, HIKPropertyAutoUser,
  HIKPropertyNoMode = 0, HIKPropertyOffOn, HIKPropertyOffAutoUser, HIKPropertyAutoUser
}
 Lists the possible mode types for character properties. More...
 
enum  HIKPropertyValueType { HIKPropertyScalar = 0, HIKPropertyScalar = 0 }
 Lists the possible value types for character properties. More...
 
enum  HIKPropertyUnit {
  HIKPropertyNoUnit = 0, HIKPropertyPercent, HIKPropertySecond, HIKPropertyCentimeter,
  HIKPropertyDegree, HIKPropertyEnum, HIKPropertyReal, HIKPropertyNoUnit = 0,
  HIKPropertyPercent, HIKPropertySecond, HIKPropertyCentimeter, HIKPropertyDegree,
  HIKPropertyEnum, HIKPropertyReal
}
 Lists the possible unit types for character properties. More...
 

Functions

const char * HIKGetPropertyName (int pPropertyId)
 Retrieves a human-readable, English-language string that identifies property pPropertyId. More...
 
int HIKGetPropertyId (const char *pName)
 Retrieves the unique ID of property pName from its descriptive name. More...
 
eHIKPropertyModeType HIKGetPropertyInfoModeType (int pPropertyId)
 Retrieves the mode type for property pPropertyId. More...
 
eHIKPropertyValueType HIKGetPropertyInfoValueType (int pPropertyId)
 Retrieves the value type for property pPropertyId. More...
 
eHIKPropertyUnit HIKGetPropertyInfoUnit (int pPropertyId)
 Retrieves the unit type for property pPropertyId. More...
 
int HIKGetPropertyInfoDefaultMode (int pPropertyId)
 Retrieves the default mode for property pPropertyId. More...
 
float HIKGetPropertyInfoDefaultValue (int pPropertyId)
 Retrieves the default value for property pPropertyId. More...
 
float HIKGetPropertyInfoDefaultMin (int pPropertyId)
 Retrieves the minimum accepted value for property pPropertyId. More...
 
float HIKGetPropertyInfoDefaultMax (int pPropertyId)
 Retrieves the maximum accepted value for property pPropertyId. More...
 
const char * HIKGetPropertyModeName (int pPropertyId, int pMode)
 Retrieves a human-readable, English-language string that identifies mode pMode for property pPropertyId. More...
 
const char * HIKGetPropertyEnumName (int pPropertyId, int pValue)
 Retrieves a human-readable, English-language string that identifies the enumeration value pValue for property pPropertyId. More...
 
int HIKIsPropertyDescription (int pPropertyId)
 Indicates whether or not the property is a description. More...
 

Enumeration Type Documentation

Lists the possible mode types for character properties.

See HIKGetPropertyInfoModeType().

Possible modes are:

  • Off: Property is off.
  • On, Property is on.
  • Auto, Property value is controlled by HumanIK.
  • User, Property value is controlled by the user.
Remarks
The values listed for each mode in the enumeration descriptions, such as "Off (0), On (1)", are the values that must be passed to the pMode parameter of the HIKSetPropertyMode() function when the mode is set. See HIKSetPropertyMode() and HIKGetPropertyMode().
Enumerator
HIKPropertyNoMode 

Properties with this mode type are always On, and their current values are always taken into account by the HumanIK solvers.

HIKPropertyOffOn 

Properties with this mode type can be set to either the Off (0) or On (1) mode.

HIKPropertyOffAutoUser 

Properties with this mode type can be set to any of the Off (0), Auto (1), or User (2) modes.

HIKPropertyAutoUser 

Properties with this mode type can be set to either the Auto (0) or User (1) mode, but cannot be disabled.

HIKPropertyNoMode 

Properties with this mode type are always On, and their current values are always taken into account by the HumanIK solvers.

HIKPropertyOffOn 

Properties with this mode type can be set to either the Off (0) or On (1) mode.

HIKPropertyOffAutoUser 

Properties with this mode type can be set to any of the Off (0), Auto (1), or User (2) modes.

HIKPropertyAutoUser 

Properties with this mode type can be set to either the Auto (0) or User (1) mode, but cannot be disabled.

Definition at line 528 of file hikproperty.h.

529 {
530  HIKPropertyNoMode = 0,
534 };
Properties with this mode type are always On, and their current values are always taken into account ...
Definition: hikproperty.h:530
Properties with this mode type can be set to any of the Off (0), Auto (1), or User (2) modes...
Definition: hikproperty.h:532
Properties with this mode type can be set to either the Off (0) or On (1) mode.
Definition: hikproperty.h:531
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

Lists the possible unit types for character properties.

See HIKGetPropertyInfoUnit().

Enumerator
HIKPropertyNoUnit 

Indicates that the value of this property should never be used.

Typically used only for properties with mode type HIKPropertyOffOn, to indicate that the property is a simple on/off toggle.

HIKPropertyPercent 

The value of the property is expressed in the range between 0.0 and 1.0.

HIKPropertySecond 

The value of the property is stored in seconds.

HIKPropertyCentimeter 

The value of the property is a scalar distance.

The unit of measure should be the same as the unit used when characterizing the geometry of your HIKCharacter. This unit is referred to as a "centimeter" only because the default values of all properties with this value type are sized for characters approximately 180 units tall.

HIKPropertyDegree 

The value of the property is stored in degrees.

HIKPropertyEnum 

The value of the property is an integer, whose interpretation is defined by an enumeration specific to that property.

See each property description for details. Use the HIKSetPropertyMode() and HIKGetPropertyMode() functions to set and get the enumeration values for these properties.

HIKPropertyReal 

The value of the property is an arbitrary floating-point number.

HIKPropertyNoUnit 

Indicates that the value of this property should never be used.

Typically used only for properties with mode type HIKPropertyOffOn, to indicate that the property is a simple on/off toggle.

HIKPropertyPercent 

The value of the property is expressed in the range between 0.0 and 1.0.

HIKPropertySecond 

The value of the property is stored in seconds.

HIKPropertyCentimeter 

The value of the property is a scalar distance.

The unit of measure should be the same as the unit used when characterizing the geometry of your HIKCharacter. This unit is referred to as a "centimeter" only because the default values of all properties with this value type are sized for characters approximately 180 units tall.

HIKPropertyDegree 

The value of the property is stored in degrees.

HIKPropertyEnum 

The value of the property is an integer, whose interpretation is defined by an enumeration specific to that property.

See each property description for details. Use the HIKSetPropertyMode() and HIKGetPropertyMode() functions to set and get the enumeration values for these properties.

HIKPropertyReal 

The value of the property is an arbitrary floating-point number.

Definition at line 549 of file hikproperty.h.

550 {
551  HIKPropertyNoUnit = 0,
558 };
The value of the property is a scalar distance.
Definition: hikproperty.h:554
The value of the property is stored in seconds.
Definition: hikproperty.h:553
The value of the property is an integer, whose interpretation is defined by an enumeration specific t...
Definition: hikproperty.h:556
The value of the property is an arbitrary floating-point number.
Definition: hikproperty.h:557
Indicates that the value of this property should never be used.
Definition: hikproperty.h:551
The value of the property is expressed in the range between 0.0 and 1.0.
Definition: hikproperty.h:552
The value of the property is stored in degrees.
Definition: hikproperty.h:555

Lists the possible value types for character properties.

See HIKGetPropertyInfoValueType().

Enumerator
HIKPropertyScalar 

Property is a scalar.

HIKPropertyScalar 

Property is a scalar.

Definition at line 540 of file hikproperty.h.

541 {
542  HIKPropertyScalar = 0
543 };
Property is a scalar.
Definition: hikproperty.h:542

Function Documentation

const char * HIKGetPropertyEnumName ( int  pPropertyId,
int  pValue 
)

Retrieves a human-readable, English-language string that identifies the enumeration value pValue for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values. This property must have the unit type HIKPropertyEnum.
pValueAn integer that indicates the enumeration value whose name you want to retrieve.
Returns
A string identifying the enumeration value.
int HIKGetPropertyId ( const char *  pName)

Retrieves the unique ID of property pName from its descriptive name.

Parameters
pNameUnique name of the property. Must match the string returned by HIKGetPropertyName() for the property.
Returns
Property ID. See the HIKProperty enumeration for possible values. -1 indicates that no matching property could be found.
+ Examples:
float HIKGetPropertyInfoDefaultMax ( int  pPropertyId)

Retrieves the maximum accepted value for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
The maximum value of the property.
float HIKGetPropertyInfoDefaultMin ( int  pPropertyId)

Retrieves the minimum accepted value for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
The minimum value of the property.
int HIKGetPropertyInfoDefaultMode ( int  pPropertyId)

Retrieves the default mode for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
An integer that indicates the default mode for the property. The interpretation of this integer depends on the mode type of the property. See the HIKPropertyModeType enumeration.
+ Examples:
float HIKGetPropertyInfoDefaultValue ( int  pPropertyId)
eHIKPropertyModeType HIKGetPropertyInfoModeType ( int  pPropertyId)

Retrieves the mode type for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
An enumeration value indicating the possible mode types for the property. See the HIKPropertyModeType enumeration for possible values.
+ Examples:
eHIKPropertyUnit HIKGetPropertyInfoUnit ( int  pPropertyId)

Retrieves the unit type for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
An enumeration value indicating the unit type for the property. See the HIKPropertyUnit enumeration for possible values.
+ Examples:
eHIKPropertyValueType HIKGetPropertyInfoValueType ( int  pPropertyId)

Retrieves the value type for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
An enumeration value indicating the value type for the property. See the HIKPropertyValueType enumeration for possible values.
const char * HIKGetPropertyModeName ( int  pPropertyId,
int  pMode 
)

Retrieves a human-readable, English-language string that identifies mode pMode for property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
pModeAn integer that indicates the mode whose name you want to retrieve. The interpretation of this integer depends on the mode type of the property. See the HIKPropertyModeType enumeration.
Returns
A string identifying the current mode of the property.
const char * HIKGetPropertyName ( int  pPropertyId)

Retrieves a human-readable, English-language string that identifies property pPropertyId.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
Property name.
+ Examples:
int HIKIsPropertyDescription ( int  pPropertyId)

Indicates whether or not the property is a description.

A property is typically considered to be a "description" if it defines the character's stance or dimensions (such as the properties used to define the outline of the character's feet and hands for the floor contact engine). Non-descriptive properties, by contrast, typically control or constrain the HumanIK solvers in specific ways, as is the case for most other properties.

Parameters
pPropertyIdUnique ID of the property. See the HIKProperty enumeration for possible values.
Returns
1 if the property is a description, 0 otherwise.