VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
artPartManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
15 #include <list>
16 #include <vlutil/vlString.h>
17 #include <set>
18 #include <map>
19 
20 class DtUiArtPartElement;
21 
22 
24 {
25 public:
26 
27  static const DtString AnyPartCategory;
28  virtual ~DtArtPartManager();
29 
30 private:
31 
34  DtArtPartManager& operator=(const DtArtPartManager& orig);
35 
36 public:
37 
38  static DtArtPartManager* instance();
39 
40  virtual void addArtPartElement(DtUiArtPartElement* element);
41  virtual void removeArtPartElement(DtUiArtPartElement* element);
42  virtual void checkArtPartNumberValidity(const std::set<int>& availableParts);
43  virtual bool isPartInCategory(const DtString& category, int partNumber) const;
44  virtual bool isPartAvailable(int partNumber) const;
45  virtual int unusedPartInCategory(const DtString& category, const std::set<int>& usedPartNumbers);
46  virtual void allPartsInCategory(const DtString& category, std::set<int>& partNumbers);
47 
48 protected:
49  virtual int nextAvailablePartNumber(const DtString& category,
50  const std::set<int>& usedPartNumbers,
51  const std::set<int>& availableParts) const;
52 
53 
56  void setupArtPartMappings();
57  void addArtPartMapping(const DtString& category, int partNumber);
58 
59 protected:
60  typedef std::list<DtUiArtPartElement*> DtArtPartElementList;
62 
63  typedef std::multimap<DtString, int> DtArtPartCategoryMap;
66 };
DtArtPartCategoryMap myArtPartCategoryMap
Stores all the art part categories and which values are valid for each.
Definition: artPartManager.h:65
Element for managing an Articulated Part number variable.
Definition: uiArtPartElement.h:21
std::multimap< DtString, int > DtArtPartCategoryMap
Definition: artPartManager.h:63
static const DtString AnyPartCategory
Definition: artPartManager.h:27
Definition: artPartManager.h:23
DtArtPartElementList myManagedElementList
Definition: artPartManager.h:61
std::list< DtUiArtPartElement * > DtArtPartElementList
Definition: artPartManager.h:60
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)