HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MOT_CloneData.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: MOT_CloneData.h
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __MOT_CLONEDATA_H__
13 #define __MOT_CLONEDATA_H__
14 
15 #include "MOT_API.h"
16 
17 class MOT_CloneMessage;
19 class MOT_HipFileMessage;
20 
22 {
23 public:
24  MOT_CloneData();
25  virtual ~MOT_CloneData();
26 
27  // Based on the configure specified in the hip file message (which
28  // is used to establish a new connection and initialize the replica hip
29  // file contents), create a new CloneData object of an appropriate
30  // subclass.
31  static MOT_CloneData *createCloneData();
32 
33  // Update the configuration of the data object from the options on the
34  // message and/or the extra data. This function is called with the
35  // initial hip file message, but may also be called with other messages
36  // that arive later. This configuration may include which node to use
37  // as the data source, a choice of camera, image plane, etc.
38  virtual bool configure(const MOT_ConfigureMessage &msg) = 0;
39 
40  // Begins or restarts the creation of the requested data based on the
41  // supplied configuration and the current state of the hip file. This
42  // method will be called any time a change is made to a node.
43  virtual bool startDataCreation() = 0;
44 
45  // Return true if the work started by the most recent startDataCreation
46  // call has been completed. In some cases, where the data creation is
47  // completely synchronous, this method may simply return true all the
48  // time.
49  virtual bool isDataCreationComplete() = 0;
50 
51  // Get the current state of the data. If startDataCreation is not
52  // synchronous, this method may be called before the data generation
53  // is complete. Return true if either the completed data or some
54  // intermediate data is put into the message, or false if the message
55  // has not been filled.
56  virtual bool getData(MOT_CloneMessage &rmsg) = 0;
57 };
58 
59 #endif // __MOT_CLONEDATA_H__
60 
#define MOT_API
Definition: MOT_API.h:10