16 #include <vlutil/vlString.h>
23 class DtDiGuySettings;
68 void getAppearances(std::vector<DtString> &choiceValues,
int depth, std::vector<DtString> &retAppearances);
102 void initializeVisualComponent();
113 diguyScenario& scenario();
118 virtual osg::Node* characterRoot();
124 const char * mapEffect(
const char * diguy_effect_name);
127 std::string findCharacterName(
DtElementID parentSceneObjectID);
130 bool evalScript(
const std::string & script);
133 int getNumCharacterTypes();
135 const char * getCharacterTypeAtIndex(
int index);
137 int getCharacterTypeNumAppearances(
const char *typeName);
139 const char *getCharacterTypeAppearanceAtIndex(
const char *typeName,
int index);
143 const char *getHandItemClass(
const char *typeName);
144 int getNumHandItemsInClass(
const char *className);
146 const char *getHandItemFromClass(
const char *className,
int index);
149 int getCharacterTypeNumHeads(
const char *typeName,
const char *appearanceName);
151 const char *getCharacterTypeHeadAtIndex(
const char *typeName,
const char *appearanceName,
int index);
154 int getCharacterTypeNumActions(
const char *typeName);
156 const char *getCharacterTypeActionAtIndex(
const char *typeName,
int index);
159 float getCharacterTypeActionDuration(
const char *typeName,
const char *actionName);
161 float getCharacterTypeActionSpeed(
const char *typeName,
const char *actionName);
164 const char *getCharacterTypeActionPosture(
const char *typeName,
const char *actionName);
168 const char *getCharacterTypeActionDirection(
const char *typeName,
const char *actionName);
173 const char *getCharacterTypeActionPrimaryVariant(
const char *typeName,
const char *actionName);
188 int getNumTypeMapEntries();
191 const char *getTypeMapCharacterType(
int index);
194 const char *getTypeMapCharacterAppearance(
int index);
197 const char *getTypeMapFieldValue(
int index,
const char *fieldName);
198 const char *getTypeMapFieldValue(
int index,
int fieldIndex);
202 int getNumTypeMapCharacterClasses();
203 const char* getTypeMapCharacterClassAtIndex(
int index);
207 int getNumTypeMapCategories(
const char* character_class);
208 const char* getTypeMapCategoryAtIndex(
const char* character_class,
int index);
211 int getNumTypeMapSubcategories(
const char* character_class,
212 const char* category);
213 const char* getTypeMapSubcategoryAtIndex(
const char* character_class,
214 const char* category,
219 virtual void getAppearancesMatchingDiGuyTypeMap(
const DtString &characterType, std::vector<DtString> &fields, std::vector<DtString> &retAppearances);
222 virtual void getAppearancesMatchingPartialDiGuyTypeMap(
const DtString &characterType, std::vector<DtString> &partialFields,
223 std::vector<int> &fieldIndices, std::vector<DtString> &retAppearances);
227 virtual void getTypeMapFieldOptions(
const DtString &characterType, std::vector<DtString> &fields, std::vector<std::list<DtString>> &retValues);
229 virtual void getTypeMapPartialFieldOptions(
const DtString &characterType, std::vector<DtString> &partialFields, std::vector<int> &fieldIndices,
230 std::vector<std::list<DtString>> &retValues);
232 virtual void initTypeMapNodes();
236 virtual void slot_windowDestroyed(
DtWindow* window);
239 virtual void slot_windowCreated(
DtWindow* window);
242 virtual void slot_reloadShader();
245 virtual void slot_preDraw();
248 virtual void slot_postDraw();
251 virtual void slot_postUpdate();
254 virtual void syncToSharedDiGuySettings();
257 virtual void slot_diGuyInstancingEnabledChanged(
bool enabled );
260 virtual void slot_diGuyInstancedLodChanged(
int lod );
263 virtual void slot_diGuyVisualizeInstancingChanged(
bool enabled );
266 virtual void slot_diGuyMaxDrawDistanceChanged(
float distance );
269 virtual void slot_diGuyMultiThreadUpdateChanged(
bool enabled );
277 void updateScenario(
double simTime);
278 void setComponentVisualizationMode(
int mode);
283 void createDiGuyScenario();
285 void reloadConfigInfo();