HIK2016/humanik/hiklod.h Source File

hiklod.h
Go to the documentation of this file.
1 
8 /**************************************************************************************
9 
10 Copyright (C) 2009 Autodesk, Inc.
11 All Rights Reserved.
12 
13 The coded instructions, statements, computer programs, and/or related material (collectively "Data")
14 in these files contain unpublished information proprietary to Autodesk, Inc., ("Autodesk") which is
15 protected by Canada and United States of America federal copyright law and by international treaties.
16 
17 The Data may not be disclosed or distributed to third parties, in whole or in part, without the prior
18 written consent of Autodesk.
19 
20 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED.
21 AUTODESK MAKES NO WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING BY CUSTOM
22 OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
23 FITNESS FOR A PARTICULAR PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT
24 THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS OR SUPPLIERS ("AUTODESK GROUP")
27 BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR
28 MULTIPLE DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
29 OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS
30 OF THE THEORY OF LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO,
31 NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
32 WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
33 
34 **************************************************************************************/
35 
36 #ifndef _HIKLOD_
37 #define _HIKLOD_
38 
39 #include "humanik.h"
40 #include "hikproperty.h"
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 // ***********************************************
62 HIK_EXPORT void HIK_API HIKSolveForEffectorSetBeginLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState);
63 
72 HIK_EXPORT void HIK_API HIKSolveForEffectorSetBodyPullLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState);
73 
82 HIK_EXPORT void HIK_API HIKSolveForEffectorSetArmsAndLegsLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState);
83 
94 HIK_EXPORT void HIK_API HIKSolveForEffectorSetLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState);
95 
96 /* *********************************************** */
118 HIK_EXPORT void HIK_API HIKSolveForCharacterLowLOD(const HIKCharacter *pDstCharacter, HIKCharacterState *pCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState);
119 
120 
121 #ifdef __cplusplus
122 }
123 #endif
124 
125 #endif
Defines an HIKEffectorSetState.
Definition: humanik.h:418
#define HIK_EXPORT
Definition: humanik.h:56
void HIKSolveForEffectorSetBodyPullLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
Call only the pull engine for character pCharacter.
void HIKSolveForCharacterLowLOD(const HIKCharacter *pDstCharacter, HIKCharacterState *pCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState)
Retarget the pose defined by HIKCharacterState pSrcCharacterState from character pSrcCharacter to cha...
Defines a character's properties.
Definition: humanik.h:457
void HIKSolveForEffectorSetBeginLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
Prepare the solving for character pCharacter.
void HIKSolveForEffectorSetArmsAndLegsLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
Call the IK solver for the arms, legs and shoulders of character pCharacter.
Defines a pose for a character.
Definition: humanik.h:441
void HIKSolveForEffectorSetLowLOD(const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
Solve character pCharacter with HIKEffectorSetState pEffectorSetState and HIKCharacterState pCharacte...
Defines a character to be used with HumanIK.
#define HIK_API
Definition: humanik.h:60