EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
CharacterPortrait Class Reference

#include "Character.h"

Collaboration diagram for CharacterPortrait:

Public Member Functions

void Build (uint32 charID, PyDict *data)
 

Private Attributes

CharacterDB m_db
 

Detailed Description

Container for character portrait stuff.

Definition at line 198 of file Character.h.

Member Function Documentation

void CharacterPortrait::Build ( uint32  charID,
PyDict data 
)

Definition at line 172 of file Character.cpp.

References PyRep::AsDict(), PyRep::AsFloat(), PyRep::AsTuple(), PortraitInfo::backgroundID, PortraitInfo::browLeftCurl, PortraitInfo::browLeftTighten, PortraitInfo::browLeftUpDown, PortraitInfo::browRightCurl, PortraitInfo::browRightTighten, PortraitInfo::browRightUpDown, PortraitInfo::cameraFieldOfView, PortraitInfo::cameraPoiX, PortraitInfo::cameraPoiY, PortraitInfo::cameraPoiZ, PortraitInfo::cameraX, PortraitInfo::cameraY, PortraitInfo::cameraZ, PortraitInfo::eyeClose, PortraitInfo::eyesLookHorizontal, PortraitInfo::eyesLookVertical, PortraitInfo::frownLeft, PortraitInfo::frownRight, PyTuple::GetItem(), PyDict::GetItemString(), PortraitInfo::headLookTargetX, PortraitInfo::headLookTargetY, PortraitInfo::headLookTargetZ, PortraitInfo::headTilt, PyRep::IntegerValue(), PortraitInfo::jawSideways, PortraitInfo::jawUp, PortraitInfo::lightColorID, PortraitInfo::lightID, PortraitInfo::lightIntensity, m_db, PortraitInfo::orientChar, PortraitInfo::portraitPoseNumber, PortraitInfo::puckerLips, CharacterDB::SetPortraitInfo(), PortraitInfo::smileLeft, PortraitInfo::smileRight, PortraitInfo::squintLeft, PortraitInfo::squintRight, and PyFloat::value().

173 {
174  PortraitInfo info = PortraitInfo();
175 
176  info.backgroundID = PyRep::IntegerValue(data->GetItemString("backgroundID"));
177  info.lightColorID = PyRep::IntegerValue(data->GetItemString("lightColorID"));
178  info.lightID = PyRep::IntegerValue(data->GetItemString("lightID"));
179 
180  info.cameraFieldOfView = data->GetItemString("cameraFieldOfView")->AsFloat()->value();
181  info.lightIntensity = data->GetItemString("lightIntensity")->AsFloat()->value();
182 
183  PyTuple* cameraPoi = data->GetItemString("cameraPoi")->AsTuple();
184  info.cameraPoiX = cameraPoi->GetItem(0)->AsFloat()->value();
185  info.cameraPoiY = cameraPoi->GetItem(1)->AsFloat()->value();
186  info.cameraPoiZ = cameraPoi->GetItem(2)->AsFloat()->value();
187 
188  PyTuple* cameraPosition = data->GetItemString("cameraPosition")->AsTuple();
189  info.cameraX = cameraPosition->GetItem(0)->AsFloat()->value();
190  info.cameraY = cameraPosition->GetItem(1)->AsFloat()->value();
191  info.cameraZ = cameraPosition->GetItem(2)->AsFloat()->value();
192 
193  PyDict* poseData = data->GetItemString("poseData")->AsDict();
194  PyTuple* HeadLookTarget = poseData->GetItemString("HeadLookTarget")->AsTuple();
195  info.headLookTargetX = HeadLookTarget->GetItem(0)->AsFloat()->value();
196  info.headLookTargetY = HeadLookTarget->GetItem(1)->AsFloat()->value();
197  info.headLookTargetZ = HeadLookTarget->GetItem(2)->AsFloat()->value();
198 
199  info.browLeftCurl = poseData->GetItemString("BrowLeftCurl")->AsFloat()->value();
200  info.browLeftUpDown = poseData->GetItemString("BrowLeftUpDown")->AsFloat()->value();
201  info.browLeftTighten = poseData->GetItemString("BrowLeftTighten")->AsFloat()->value();
202  info.browRightCurl = poseData->GetItemString("BrowRightCurl")->AsFloat()->value();
203  info.browRightUpDown = poseData->GetItemString("BrowRightUpDown")->AsFloat()->value();
204  info.browRightTighten = poseData->GetItemString("BrowRightTighten")->AsFloat()->value();
205 
206  info.squintLeft = poseData->GetItemString("SquintLeft")->AsFloat()->value();
207  info.smileLeft = poseData->GetItemString("SmileLeft")->AsFloat()->value();
208  info.frownLeft = poseData->GetItemString("FrownLeft")->AsFloat()->value();
209  info.squintRight = poseData->GetItemString("SquintRight")->AsFloat()->value();
210  info.smileRight = poseData->GetItemString("SmileRight")->AsFloat()->value();
211  info.frownRight = poseData->GetItemString("FrownRight")->AsFloat()->value();
212 
213  info.jawUp = poseData->GetItemString("JawUp")->AsFloat()->value();
214  info.jawSideways = poseData->GetItemString("JawSideways")->AsFloat()->value();
215  info.headTilt = poseData->GetItemString("HeadTilt")->AsFloat()->value();
216  info.eyeClose = poseData->GetItemString("EyeClose")->AsFloat()->value();
217  info.eyesLookHorizontal = poseData->GetItemString("EyesLookHorizontal")->AsFloat()->value();
218  info.eyesLookVertical = poseData->GetItemString("EyesLookVertical")->AsFloat()->value();
219  info.orientChar = poseData->GetItemString("OrientChar")->AsFloat()->value();
220  info.portraitPoseNumber = poseData->GetItemString("PortraitPoseNumber")->AsFloat()->value();
221  info.puckerLips = poseData->GetItemString("PuckerLips")->AsFloat()->value();
222 
223  m_db.SetPortraitInfo(charID, info);
224 }
float cameraZ
Definition: CharacterDB.h:39
float jawSideways
Definition: CharacterDB.h:62
PyTuple * AsTuple()
Definition: PyRep.h:138
double value() const
Definition: PyRep.h:309
float smileLeft
Definition: CharacterDB.h:67
PyRep * GetItem(size_t index) const
Returns Python object.
Definition: PyRep.h:602
PyRep * GetItemString(const char *key) const
Obtains database entry based on given key string.
Definition: PyRep.cpp:702
float puckerLips
Definition: CharacterDB.h:64
float browRightTighten
Definition: CharacterDB.h:55
Python's dictionary.
Definition: PyRep.h:719
float frownLeft
Definition: CharacterDB.h:65
float eyeClose
Definition: CharacterDB.h:57
float browRightUpDown
Definition: CharacterDB.h:56
float browRightCurl
Definition: CharacterDB.h:54
Python tuple.
Definition: PyRep.h:567
float headTilt
Definition: CharacterDB.h:49
float eyesLookHorizontal
Definition: CharacterDB.h:59
float browLeftCurl
Definition: CharacterDB.h:51
float squintLeft
Definition: CharacterDB.h:60
float browLeftTighten
Definition: CharacterDB.h:52
uint32 lightID
Definition: CharacterDB.h:35
float portraitPoseNumber
Definition: CharacterDB.h:48
PyDict * AsDict()
Definition: PyRep.h:142
float cameraFieldOfView
Definition: CharacterDB.h:40
float frownRight
Definition: CharacterDB.h:66
float orientChar
Definition: CharacterDB.h:50
CharacterDB m_db
Definition: Character.h:205
uint32 lightColorID
Definition: CharacterDB.h:36
float headLookTargetY
Definition: CharacterDB.h:45
uint32 backgroundID
Definition: CharacterDB.h:34
float smileRight
Definition: CharacterDB.h:68
void SetPortraitInfo(uint32 charID, PortraitInfo &data)
float cameraPoiX
Definition: CharacterDB.h:41
float browLeftUpDown
Definition: CharacterDB.h:53
float cameraPoiZ
Definition: CharacterDB.h:43
float headLookTargetZ
Definition: CharacterDB.h:46
float cameraX
Definition: CharacterDB.h:37
float lightIntensity
Definition: CharacterDB.h:47
static int64 IntegerValue(PyRep *pRep)
Definition: PyRep.cpp:118
float headLookTargetX
Definition: CharacterDB.h:44
float eyesLookVertical
Definition: CharacterDB.h:58
PyFloat * AsFloat()
Definition: PyRep.h:126
float cameraPoiY
Definition: CharacterDB.h:42
float cameraY
Definition: CharacterDB.h:38
float squintRight
Definition: CharacterDB.h:61

Here is the call graph for this function:

Member Data Documentation

CharacterDB CharacterPortrait::m_db
private

Definition at line 205 of file Character.h.

Referenced by Build().


The documentation for this class was generated from the following files: