VR-Forces 4.2 Class Documentation
luaPathJob.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #include "vrfLua/vrfLuaDefines.h"
9 #include "vrfLua/luaAsyncJob.h"
10 #include "vrfutil/scriptGeometry.h"
12 
13 #include "vlutil/vlMutex.h"
14 
17 
18 #include <luabind/luabind.hpp>
19 
20 #include <boost/scoped_ptr.hpp>
21 
22 class DtSimManager;
23 class DtAsyncJobMapEntry;
24 
25 namespace MAKVRinTerra
26 {
27  class DtSharedMemoryFeaturesDebugDrawer;
28 }
29 
32 {
33 public:
34  typedef std::vector<DtLocation3D> Points;
35 
36  static boost::shared_ptr<DtLuaPathJob> Make(
37  DtSimManager* mgr,
38  DtString featureType,
39  const Points& inputPath,
40  double buffer);
41 
43  DtLuaPathJob();
44 
46  ~DtLuaPathJob();
47 
49  luabind::object getObject(lua_State* L, int& index, std::string& message);
50 
52  void addMessage(std::string);
53 
54  //
56  //
57 
58  static DtAsciiSerializable* creator();
59 
61  bool deserialize(const DtString&);
62  DtString objectType() const;
63 
64  boost::shared_ptr<DtLuaPathJob> shared_from_this();
65  boost::shared_ptr<const DtLuaPathJob> shared_from_this() const;
66 
67 protected:
68  class PathTask;
69  friend class PathTask;
70 
73  DtSimManager* mgr,
74  DtString featureType,
75  const Points& inputPath,
76  double buffer);
77 
78  void start();
80 
82  void taskComplete();
83 
84  typedef DtMutex Mutex;
85 
86  mutable Mutex myMutex;
87  std::string myFeatureType;
89  double myBuffer;
90  boost::scoped_ptr<Points> myPoints;
91  boost::shared_ptr<DtAsyncJobMapEntry> myJobEntry;
92  std::string myMessage;
93 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)