summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerwincoumans <erwin.coumans@gmail.com>2018-06-02 13:52:00 -0700
committererwincoumans <erwin.coumans@gmail.com>2018-06-02 13:52:00 -0700
commit4997eb8da24d6188aabaf201bfc40c1cfe68f785 (patch)
tree2cc481a5b72c895522e32625fa3fedf334324b57
parentb6120e760ac2719f3fbc9f0f7aeeda00097fec09 (diff)
downloadbullet3-4997eb8da24d6188aabaf201bfc40c1cfe68f785.tar.gz
add new file related to PyBullet userData
-rw-r--r--examples/SharedMemory/SharedMemoryUserData.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/SharedMemory/SharedMemoryUserData.h b/examples/SharedMemory/SharedMemoryUserData.h
new file mode 100644
index 000000000..a29f59eb0
--- /dev/null
+++ b/examples/SharedMemory/SharedMemoryUserData.h
@@ -0,0 +1,48 @@
+#ifndef SHARED_MEMORY_USER_DATA_H
+#define SHARED_MEMORY_USER_DATA_H
+
+#include <string>
+#include "LinearMath/btAlignedObjectArray.h"
+#include "SharedMemoryPublic.h"
+
+struct SharedMemoryUserData
+{
+ std::string m_key;
+ int m_type;
+
+ btAlignedObjectArray<char> m_bytes;
+
+ SharedMemoryUserData()
+ :m_type(-1)
+ {
+ }
+
+ // Takes ownership of the passed key and value arguments.
+ SharedMemoryUserData(const char* key)
+ :m_key(key)
+ {
+ }
+
+ // Takes ownership of the data pointed to by newValue.
+ void replaceValue(const char* bytes, int len, int type)
+ {
+ m_type = type;
+ m_bytes.resize(len);
+ for (int i=0;i<len;i++)
+ {
+ m_bytes[i] = bytes[i];
+ }
+ }
+
+ virtual ~SharedMemoryUserData()
+ {
+ }
+
+ void clear()
+ {
+ m_bytes.clear();
+ m_type = -1;
+ }
+};
+
+#endif //SHARED_MEMORY_USER_DATA_H