Choreonoid  1.5
WorldLogFileItem.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_BODY_PLUGIN_WORLD_LOG_FILE_ITEM_H
7 #define CNOID_BODY_PLUGIN_WORLD_LOG_FILE_ITEM_H
8 
9 #include <cnoid/Item>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
14 class SE3;
15 class DeviceState;
16 class WorldLogFileItemImpl;
17 
18 
20 {
21 public:
22  static void initializeClass(ExtensionManager* ext);
23 
27 
28  bool setLogFileName(const std::string& filename);
29  const std::string& logFileName() const;
30 
31  double recordingFrameRate() const;
32 
33  void clearOutput();
34  void beginHeaderOutput();
35  int outputBodyHeader(const std::string& name);
36  void endHeaderOutput();
37  void beginFrameOutput(double time);
38  void beginBodyStateOutput();
39  void outputLinkPositions(SE3* positions, int size);
40  void outputJointPositions(double* values, int size);
41  void beginDeviceStateOutput();
42  void outputDeviceState(DeviceState* state);
43  void endDeviceStateOutput();
44  void endBodyStateOutput();
45  void endFrameOutput();
46 
47  int numBodies() const;
48  const std::string& bodyName(int bodyIndex) const;
49 
50  bool recallStateAtTime(double time);
51  void invalidateLastStateConsistency();
52 
53  virtual void notifyUpdate();
54 
55 protected:
56  virtual Item* doDuplicate() const;
57  virtual void onPositionChanged();
58  virtual void doPutProperties(PutPropertyFunction& putProperty);
59  virtual bool store(Archive& archive);
60  virtual bool restore(const Archive& archive);
61 
62 private:
63  WorldLogFileItemImpl* impl;
64 };
65 
67 
68 }
69 
70 #endif
Definition: Archive.h:21
Definition: ExtensionManager.h:26
ref_ptr< WorldLogFileItem > WorldLogFileItemPtr
Definition: WorldLogFileItem.h:66
Definition: PutPropertyFunction.h:35
Definition: Device.h:18
Definition: Item.h:38
Definition: EigenTypes.h:80
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: WorldLogFileItem.h:19
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37