VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dynamicFeaturesController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include "features/feature.h"
17 
19 
21  : public MAKVRinTerra::DtDynamicFeature<MAKVRinTerra::DtFeature>
22 {
24 
25 public:
26  explicit DtVrfObjectFeature(DtVrfObject* object);
27 
30  unsigned numberOfAttributes(const Key::String&) const;
31  bool hasAttribute(const Key&) const;
32  boost::optional<Attribute> attribute(const Key&) const;
33 
34  virtual DtObjectType objectType() const;
35  virtual std::string objectName() const;
36  virtual std::string objectUuid() const;
37  virtual DtVector position() const;
38 
39 protected:
42  std::string myObjectTypeString;
43 
45 };
46 
48 {
49 public:
51  const DtString& name,
52  DtVrfObject* owner,
53  DtSimManager* simManager,
54  DtComponentDescriptor* desc = 0,
55  DtReaderWriterRegistry* parentRegistry = 0);
56 
57  virtual ~DtDynamicFeaturesController();
58 
59  static DtSimComponent * creator(const DtString& name,
60  DtVrfObject* owner,
61  DtSimManager* simManager,
62  DtComponentDescriptor* desc = 0,
63  DtReaderWriterRegistry* parentRegistry = 0);
64 
67  virtual const char* type() const;
68 
69  virtual bool init();
70 
71  virtual void tick();
72 
73 protected:
74  virtual void verticesChanged();
75 
76  virtual boost::shared_ptr<DtVrfObjectFeature> createFeature();
77  virtual bool isChanged() const;
78 
79  boost::shared_ptr<DtVrfObjectFeature> myFeature;
80 
81 private:
82  static void staticVerticesChangedCallback(DtVrfObject* obj, void* data);
83 
86 };
87 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)