VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
diGuyCharacterDataManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
14 
15 #include <libxml/xmlreader.h>
16 #include <vlutil/vlString.h>
17 #include <vlutil/vlFilename.h>
18 #include <map>
19 #include <list>
21 
24 
26 
27 namespace makVrv
28 {
29  class DtDiGuyScenario;
30 }
31 
35 {
36  public:
37 
39  static DtDiGuyCharacterDataManager* characterManager();
41  static DtDiGuyCharacterDataManager* creator(const DtFilename& appDataDir, const DtFilename& dataDir);
42  static DtDiGuyCharacterDataManager* creator(const DtFilename& appDataDir, const DtFilename& dataDir, makVrv::DtDiGuyScenario*);
43 
45  DtDiGuyCharacterDataManager(const DtFilename& appDataDir, const DtFilename& dataDir);
46  DtDiGuyCharacterDataManager(const DtFilename& appDataDir, const DtFilename& dataDir, makVrv::DtDiGuyScenario*);
47 
49  virtual ~DtDiGuyCharacterDataManager();
50 
53 
56 
58  virtual bool init();
59 
60  virtual void setAnimationsConfigurationFilename(const DtFilename & config);
61 
63  virtual bool loadCharacterAnimationsFile(const DtFilename &mtlName);
64 
67  virtual bool loadDataFromDIGuy();
68 
70  virtual DtDiGuyCharacterData * lookupCharacterByName(const DtString & characterName);
71 
73  virtual AlternateNamesList * availableCharactersList();
74 
77  virtual void getAppearancesMatchingDiGuyTypeMap(const DtString &characterType, std::vector<DtString> &fields, std::vector<DtString> &retAppearances);
80  virtual void getAppearancesMatchingPartialDiGuyTypeMap(const DtString &characterType, std::vector<DtString> &partialFields,
81  std::vector<int> &fieldIndices, std::vector<DtString> &retAppearances);
85  virtual void getTypeMapFieldOptions(const DtString &characterType, std::vector<DtString> &fields, std::vector<std::list<DtString> > &retValues);
87  virtual void getTypeMapPartialFieldOptions(const DtString &characterType, std::vector<DtString> &partialFields, std::vector<int> &fieldIndices,
88  std::vector<std::list<DtString> > &retValues);
89 
91  virtual bool getAnimationTransitionInfo(const DtString &characterType, const DtString &fromAnimation,
92  const DtString &toAnimation, double& duration, DtVector& offsetPos, double& offsetHeading);
93 
94  DtDiGuyCharacterAnimationsTable* animationTable() const
95  {
96  return myAnimationsConfigurationFile;
97  }
98 
100  static int numberOfDiGuyTypeMapFields();
101 
102  DtVrvDiGuyCharacterData* masterDiGuyCharacterData() const
103  {
104  return myMasterDiGuyCharacterData;
105  }
106 
108  virtual makVrv::DtDiGuyScenario* lightweightInstance();
109 
110 protected:
111 
112  virtual void addCharacterData(DtDiGuyCharacterData * data);
114  void findListIntersection(std::list<DtString> &orig, std::list<DtString> &second);
116  void debugPrint(const char *fmt, ...);
117 
118 protected:
119 
122  std::map<DtString,DtDiGuyCharacterData *> myCharacterMap;
123  std::list<DtString> myCharactersList;
125 
127  DtFilename myDataDir;
129 
130 protected:
131 
135 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)