add support for setuptools setup.py pybullet for 'pip install pybullet'
rewrite MacOpenGLWindow.mm into .m version, so that setup.py can handle it. See also test at https://pypi.python.org/pypi/pybullet/0.1.0
This commit is contained in:
7
MANIFEST.in
Normal file
7
MANIFEST.in
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
include MANIFEST.in *.txt
|
||||||
|
recursive-include examples *.h
|
||||||
|
recursive-include examples *.hpp
|
||||||
|
recursive-include Extras *.h
|
||||||
|
recursive-include Extras *.hpp
|
||||||
|
recursive-include src *.h
|
||||||
|
recursive-include src *.hpp
|
||||||
47
examples/CommonInterfaces/CommonCallbacks.h
Normal file
47
examples/CommonInterfaces/CommonCallbacks.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
#ifndef COMMON_CALLBACKS_H
|
||||||
|
#define COMMON_CALLBACKS_H
|
||||||
|
|
||||||
|
|
||||||
|
typedef void (*b3WheelCallback)(float deltax, float deltay);
|
||||||
|
typedef void (*b3ResizeCallback)( float width, float height);
|
||||||
|
typedef void (*b3MouseMoveCallback)( float x, float y);
|
||||||
|
typedef void (*b3MouseButtonCallback)(int button, int state, float x, float y);
|
||||||
|
typedef void (*b3KeyboardCallback)(int keycode, int state);
|
||||||
|
typedef void (*b3RenderCallback) ();
|
||||||
|
|
||||||
|
enum {
|
||||||
|
B3G_ESCAPE = 27,
|
||||||
|
B3G_F1 = 0xff00,
|
||||||
|
B3G_F2,
|
||||||
|
B3G_F3,
|
||||||
|
B3G_F4,
|
||||||
|
B3G_F5,
|
||||||
|
B3G_F6,
|
||||||
|
B3G_F7,
|
||||||
|
B3G_F8,
|
||||||
|
B3G_F9,
|
||||||
|
B3G_F10,
|
||||||
|
B3G_F11,
|
||||||
|
B3G_F12,
|
||||||
|
B3G_F13,
|
||||||
|
B3G_F14,
|
||||||
|
B3G_F15,
|
||||||
|
B3G_LEFT_ARROW,
|
||||||
|
B3G_RIGHT_ARROW,
|
||||||
|
B3G_UP_ARROW,
|
||||||
|
B3G_DOWN_ARROW,
|
||||||
|
B3G_PAGE_UP,
|
||||||
|
B3G_PAGE_DOWN,
|
||||||
|
B3G_END,
|
||||||
|
B3G_HOME,
|
||||||
|
B3G_INSERT,
|
||||||
|
B3G_DELETE,
|
||||||
|
B3G_BACKSPACE,
|
||||||
|
B3G_SHIFT,
|
||||||
|
B3G_CONTROL,
|
||||||
|
B3G_ALT,
|
||||||
|
B3G_RETURN
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,47 +1,8 @@
|
|||||||
#ifndef B3G_WINDOW_INTERFACE_H
|
#ifndef B3G_WINDOW_INTERFACE_H
|
||||||
#define B3G_WINDOW_INTERFACE_H
|
#define B3G_WINDOW_INTERFACE_H
|
||||||
|
|
||||||
|
#include "CommonCallbacks.h"
|
||||||
|
|
||||||
typedef void (*b3WheelCallback)(float deltax, float deltay);
|
|
||||||
typedef void (*b3ResizeCallback)( float width, float height);
|
|
||||||
typedef void (*b3MouseMoveCallback)( float x, float y);
|
|
||||||
typedef void (*b3MouseButtonCallback)(int button, int state, float x, float y);
|
|
||||||
typedef void (*b3KeyboardCallback)(int keycode, int state);
|
|
||||||
typedef void (*b3RenderCallback) ();
|
|
||||||
|
|
||||||
enum {
|
|
||||||
B3G_ESCAPE = 27,
|
|
||||||
B3G_F1 = 0xff00,
|
|
||||||
B3G_F2,
|
|
||||||
B3G_F3,
|
|
||||||
B3G_F4,
|
|
||||||
B3G_F5,
|
|
||||||
B3G_F6,
|
|
||||||
B3G_F7,
|
|
||||||
B3G_F8,
|
|
||||||
B3G_F9,
|
|
||||||
B3G_F10,
|
|
||||||
B3G_F11,
|
|
||||||
B3G_F12,
|
|
||||||
B3G_F13,
|
|
||||||
B3G_F14,
|
|
||||||
B3G_F15,
|
|
||||||
B3G_LEFT_ARROW,
|
|
||||||
B3G_RIGHT_ARROW,
|
|
||||||
B3G_UP_ARROW,
|
|
||||||
B3G_DOWN_ARROW,
|
|
||||||
B3G_PAGE_UP,
|
|
||||||
B3G_PAGE_DOWN,
|
|
||||||
B3G_END,
|
|
||||||
B3G_HOME,
|
|
||||||
B3G_INSERT,
|
|
||||||
B3G_DELETE,
|
|
||||||
B3G_BACKSPACE,
|
|
||||||
B3G_SHIFT,
|
|
||||||
B3G_CONTROL,
|
|
||||||
B3G_ALT,
|
|
||||||
B3G_RETURN
|
|
||||||
};
|
|
||||||
|
|
||||||
struct b3gWindowConstructionInfo
|
struct b3gWindowConstructionInfo
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ INCLUDE_DIRECTORIES(
|
|||||||
|
|
||||||
FILE(GLOB OpenGLWindow_HDRS "*.h" )
|
FILE(GLOB OpenGLWindow_HDRS "*.h" )
|
||||||
|
|
||||||
FILE(GLOB OpenGLWindowMac_CPP "Mac*.mm")
|
FILE(GLOB OpenGLWindowMac_CPP "Mac*.cpp")
|
||||||
|
FILE(GLOB OpenGLWindowMacObjC_CPP "Mac*.m")
|
||||||
FILE(GLOB OpenGLWindowWin32_CPP "Win32*.cpp")
|
FILE(GLOB OpenGLWindowWin32_CPP "Win32*.cpp")
|
||||||
FILE(GLOB OpenGLWindowLinux_CPP "X11*.cpp")
|
FILE(GLOB OpenGLWindowLinux_CPP "X11*.cpp")
|
||||||
|
|
||||||
@@ -16,6 +17,7 @@ LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowMac_CPP} )
|
|||||||
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowWin32_CPP} )
|
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowWin32_CPP} )
|
||||||
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowLinux_CPP} )
|
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowLinux_CPP} )
|
||||||
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP X11OpenGLWindow.cpp )
|
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP X11OpenGLWindow.cpp )
|
||||||
|
LIST(REMOVE_ITEM OpenGLWindowCommon_CPP MacOpenGLWindow.cpp )
|
||||||
#MESSAGE (${OpenGLWindowCommon_CPP})
|
#MESSAGE (${OpenGLWindowCommon_CPP})
|
||||||
|
|
||||||
IF (WIN32)
|
IF (WIN32)
|
||||||
@@ -27,7 +29,7 @@ IF (WIN32)
|
|||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
SET(OpenGLWindow_SRCS ${OpenGLWindowMac_CPP} ${OpenGLWindowCommon_CPP} )
|
SET(OpenGLWindow_SRCS ${OpenGLWindowMac_CPP} ${OpenGLWindowMacObjC_CPP} ${OpenGLWindowCommon_CPP} )
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
#no Linux detection?
|
#no Linux detection?
|
||||||
|
|||||||
192
examples/OpenGLWindow/MacOpenGLWindow.cpp
Normal file
192
examples/OpenGLWindow/MacOpenGLWindow.cpp
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
#include "MacOpenGLWindow.h"
|
||||||
|
|
||||||
|
#include "OpenGLInclude.h"
|
||||||
|
#include "MacOpenGLWindowObjC.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
MacOpenGLWindow::MacOpenGLWindow()
|
||||||
|
:m_internalData(0)
|
||||||
|
{
|
||||||
|
m_internalData = Mac_createData();
|
||||||
|
}
|
||||||
|
|
||||||
|
MacOpenGLWindow::~MacOpenGLWindow()
|
||||||
|
{
|
||||||
|
Mac_destroyData(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::closeWindow()
|
||||||
|
{
|
||||||
|
Mac_destroyData(m_internalData);
|
||||||
|
m_internalData = Mac_createData();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bool MacOpenGLWindow::isModifierKeyPressed(int key)
|
||||||
|
{
|
||||||
|
return Mac_isModifierKeyPressed(m_internalData, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
float MacOpenGLWindow::getTimeInSeconds()
|
||||||
|
{
|
||||||
|
return 0.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setRenderCallback( b3RenderCallback renderCallback)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setWindowTitle(const char* windowTitle)
|
||||||
|
{
|
||||||
|
Mac_setWindowTitle(m_internalData, windowTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
||||||
|
{
|
||||||
|
MacWindowConstructionInfo windowCI;
|
||||||
|
windowCI.m_width = ci.m_width;
|
||||||
|
windowCI.m_height = ci.m_height;
|
||||||
|
windowCI.m_fullscreen = ci.m_fullscreen;
|
||||||
|
windowCI.m_colorBitsPerPixel = ci.m_colorBitsPerPixel;
|
||||||
|
windowCI.m_windowHandle = ci.m_windowHandle;
|
||||||
|
windowCI.m_title = ci.m_title;
|
||||||
|
windowCI.m_openglVersion = ci.m_openglVersion;
|
||||||
|
windowCI.m_allowRetina = true;
|
||||||
|
|
||||||
|
Mac_createWindow(m_internalData,&windowCI);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::runMainLoop()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::startRendering()
|
||||||
|
{
|
||||||
|
Mac_updateWindow(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::endRendering()
|
||||||
|
{
|
||||||
|
Mac_swapBuffer(m_internalData);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MacOpenGLWindow::requestedExit() const
|
||||||
|
{
|
||||||
|
return Mac_requestedExit(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setRequestExit()
|
||||||
|
{
|
||||||
|
Mac_setRequestExit(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength)
|
||||||
|
{
|
||||||
|
return Mac_fileOpenDialog(filename, maxNameLength);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::getMouseCoordinates(int& x, int& y)
|
||||||
|
{
|
||||||
|
int* xPtr=&x;
|
||||||
|
int* yPtr=&y;
|
||||||
|
|
||||||
|
Mac_getMouseCoordinates(m_internalData,xPtr,yPtr);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int MacOpenGLWindow::getWidth() const
|
||||||
|
{
|
||||||
|
return Mac_getWidth(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MacOpenGLWindow::getHeight() const
|
||||||
|
{
|
||||||
|
return Mac_getHeight(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback)
|
||||||
|
{
|
||||||
|
Mac_setResizeCallback(m_internalData,resizeCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
b3ResizeCallback MacOpenGLWindow::getResizeCallback()
|
||||||
|
{
|
||||||
|
return Mac_getResizeCallback(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setMouseButtonCallback(b3MouseButtonCallback mouseCallback)
|
||||||
|
{
|
||||||
|
Mac_setMouseButtonCallback(m_internalData, mouseCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setMouseMoveCallback(b3MouseMoveCallback mouseCallback)
|
||||||
|
{
|
||||||
|
Mac_setMouseMoveCallback(m_internalData,mouseCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setKeyboardCallback( b3KeyboardCallback keyboardCallback)
|
||||||
|
{
|
||||||
|
Mac_setKeyboardCallback(m_internalData,keyboardCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
b3MouseMoveCallback MacOpenGLWindow::getMouseMoveCallback()
|
||||||
|
{
|
||||||
|
return Mac_getMouseMoveCallback(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
b3MouseButtonCallback MacOpenGLWindow::getMouseButtonCallback()
|
||||||
|
{
|
||||||
|
return Mac_getMouseButtonCallback(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setWheelCallback (b3WheelCallback wheelCallback)
|
||||||
|
{
|
||||||
|
Mac_setWheelCallback(m_internalData,wheelCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
b3WheelCallback MacOpenGLWindow::getWheelCallback()
|
||||||
|
{
|
||||||
|
return Mac_getWheelCallback(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
b3KeyboardCallback MacOpenGLWindow::getKeyboardCallback()
|
||||||
|
{
|
||||||
|
return Mac_getKeyboardCallback(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
float MacOpenGLWindow::getRetinaScale() const
|
||||||
|
{
|
||||||
|
return Mac_getRetinaScale(m_internalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MacOpenGLWindow::setAllowRetina(bool allow)
|
||||||
|
{
|
||||||
|
Mac_setAllowRetina(m_internalData, allow);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -8,18 +8,6 @@
|
|||||||
class MacOpenGLWindow : public CommonWindowInterface
|
class MacOpenGLWindow : public CommonWindowInterface
|
||||||
{
|
{
|
||||||
struct MacOpenGLWindowInternalData* m_internalData;
|
struct MacOpenGLWindowInternalData* m_internalData;
|
||||||
float m_mouseX;
|
|
||||||
float m_mouseY;
|
|
||||||
int m_modifierFlags;
|
|
||||||
|
|
||||||
b3MouseButtonCallback m_mouseButtonCallback;
|
|
||||||
b3MouseMoveCallback m_mouseMoveCallback;
|
|
||||||
b3WheelCallback m_wheelCallback;
|
|
||||||
b3KeyboardCallback m_keyboardCallback;
|
|
||||||
b3RenderCallback m_renderCallback;
|
|
||||||
|
|
||||||
float m_retinaScaleFactor;
|
|
||||||
bool m_allowRetina;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -44,57 +32,30 @@ public:
|
|||||||
|
|
||||||
virtual bool isModifierKeyPressed(int key);
|
virtual bool isModifierKeyPressed(int key);
|
||||||
|
|
||||||
void setMouseButtonCallback(b3MouseButtonCallback mouseCallback)
|
void setMouseButtonCallback(b3MouseButtonCallback mouseCallback);
|
||||||
{
|
|
||||||
m_mouseButtonCallback = mouseCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setMouseMoveCallback(b3MouseMoveCallback mouseCallback)
|
void setMouseMoveCallback(b3MouseMoveCallback mouseCallback);
|
||||||
{
|
|
||||||
m_mouseMoveCallback = mouseCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setResizeCallback(b3ResizeCallback resizeCallback);
|
void setResizeCallback(b3ResizeCallback resizeCallback);
|
||||||
|
|
||||||
|
|
||||||
void setKeyboardCallback( b3KeyboardCallback keyboardCallback)
|
void setKeyboardCallback( b3KeyboardCallback keyboardCallback);
|
||||||
{
|
|
||||||
m_keyboardCallback = keyboardCallback;
|
virtual b3MouseMoveCallback getMouseMoveCallback();
|
||||||
}
|
|
||||||
|
virtual b3MouseButtonCallback getMouseButtonCallback();
|
||||||
|
|
||||||
virtual b3MouseMoveCallback getMouseMoveCallback()
|
|
||||||
{
|
|
||||||
return m_mouseMoveCallback;
|
|
||||||
}
|
|
||||||
virtual b3MouseButtonCallback getMouseButtonCallback()
|
|
||||||
{
|
|
||||||
return m_mouseButtonCallback;
|
|
||||||
}
|
|
||||||
virtual b3ResizeCallback getResizeCallback();
|
virtual b3ResizeCallback getResizeCallback();
|
||||||
|
|
||||||
virtual b3WheelCallback getWheelCallback()
|
virtual b3WheelCallback getWheelCallback();
|
||||||
{
|
|
||||||
return m_wheelCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
b3KeyboardCallback getKeyboardCallback()
|
b3KeyboardCallback getKeyboardCallback();
|
||||||
{
|
|
||||||
return m_keyboardCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setWheelCallback (b3WheelCallback wheelCallback)
|
void setWheelCallback (b3WheelCallback wheelCallback);
|
||||||
{
|
|
||||||
m_wheelCallback = wheelCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
float getRetinaScale() const
|
float getRetinaScale() const;
|
||||||
{
|
|
||||||
return m_retinaScaleFactor;
|
virtual void setAllowRetina(bool allow);
|
||||||
}
|
|
||||||
virtual void setAllowRetina(bool allow)
|
|
||||||
{
|
|
||||||
m_allowRetina = allow;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void createWindow(const b3gWindowConstructionInfo& ci);
|
virtual void createWindow(const b3gWindowConstructionInfo& ci);
|
||||||
|
|
||||||
|
|||||||
77
examples/OpenGLWindow/MacOpenGLWindowObjC.h
Normal file
77
examples/OpenGLWindow/MacOpenGLWindowObjC.h
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
#ifndef MAC_OPENGL_WINDOW_OBJC_H
|
||||||
|
#define MAC_OPENGL_WINDOW_OBJC_H
|
||||||
|
|
||||||
|
struct MacOpenGLWindowInternalData;
|
||||||
|
|
||||||
|
#include "../CommonInterfaces/CommonCallbacks.h"
|
||||||
|
|
||||||
|
struct MacWindowConstructionInfo
|
||||||
|
{
|
||||||
|
int m_width;
|
||||||
|
int m_height;
|
||||||
|
int m_fullscreen;
|
||||||
|
int m_colorBitsPerPixel;
|
||||||
|
void* m_windowHandle;
|
||||||
|
const char* m_title;
|
||||||
|
int m_openglVersion;
|
||||||
|
int m_allowRetina;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
MY_MAC_ALTKEY=1,
|
||||||
|
MY_MAC_SHIFTKEY=2,
|
||||||
|
MY_MAC_CONTROL_KEY=4
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct MacOpenGLWindowInternalData* Mac_createData();
|
||||||
|
void Mac_destroyData(struct MacOpenGLWindowInternalData* data);
|
||||||
|
|
||||||
|
int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData,struct MacWindowConstructionInfo* ci);
|
||||||
|
|
||||||
|
void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle);
|
||||||
|
int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow);
|
||||||
|
|
||||||
|
int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
|
||||||
|
int Mac_fileOpenDialog(char* filename, int maxNameLength);
|
||||||
|
|
||||||
|
void Mac_setKeyboardCallback( struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback);
|
||||||
|
b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key);
|
||||||
|
|
||||||
|
void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback);
|
||||||
|
b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr);
|
||||||
|
void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback);
|
||||||
|
b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
|
||||||
|
void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback);
|
||||||
|
b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
|
||||||
|
void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback);
|
||||||
|
b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData);
|
||||||
|
|
||||||
|
|
||||||
|
//void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //MAC_OPENGL_WINDOW_OBJC_H
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "MacOpenGLWindow.h"
|
#include "MacOpenGLWindowObjC.h"
|
||||||
|
|
||||||
#define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
|
#define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
@@ -66,12 +66,7 @@
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
MY_MAC_ALTKEY=1,
|
|
||||||
MY_MAC_SHIFTKEY=2,
|
|
||||||
MY_MAC_CONTROL_KEY=4
|
|
||||||
};
|
|
||||||
|
|
||||||
/* report GL errors, if any, to stderr */
|
/* report GL errors, if any, to stderr */
|
||||||
static void checkError(const char *functionName)
|
static void checkError(const char *functionName)
|
||||||
@@ -118,9 +113,7 @@ void dumpInfo(void)
|
|||||||
-(NSOpenGLContext*) getContext;
|
-(NSOpenGLContext*) getContext;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
float loop;
|
|
||||||
|
|
||||||
#define Pi 3.1415
|
|
||||||
|
|
||||||
@implementation TestView
|
@implementation TestView
|
||||||
|
|
||||||
@@ -197,7 +190,6 @@ float loop;
|
|||||||
[m_context flushBuffer];
|
[m_context flushBuffer];
|
||||||
[NSOpenGLContext clearCurrentContext];
|
[NSOpenGLContext clearCurrentContext];
|
||||||
|
|
||||||
loop = loop + 0.1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void) MakeContext :(int) openglVersion
|
-(void) MakeContext :(int) openglVersion
|
||||||
@@ -257,101 +249,71 @@ float loop;
|
|||||||
|
|
||||||
struct MacOpenGLWindowInternalData
|
struct MacOpenGLWindowInternalData
|
||||||
{
|
{
|
||||||
MacOpenGLWindowInternalData()
|
|
||||||
{
|
|
||||||
m_myApp = 0;
|
|
||||||
m_myview = 0;
|
|
||||||
m_pool = 0;
|
|
||||||
m_window = 0;
|
|
||||||
m_exitRequested = false;
|
|
||||||
}
|
|
||||||
NSApplication* m_myApp;
|
NSApplication* m_myApp;
|
||||||
TestView* m_myview;
|
TestView* m_myview;
|
||||||
NSAutoreleasePool* m_pool;
|
NSAutoreleasePool* m_pool;
|
||||||
NSWindow* m_window;
|
NSWindow* m_window;
|
||||||
bool m_exitRequested;
|
bool m_exitRequested;
|
||||||
|
|
||||||
|
float m_mouseX;
|
||||||
|
float m_mouseY;
|
||||||
|
int m_modifierFlags;
|
||||||
|
|
||||||
|
b3MouseButtonCallback m_mouseButtonCallback;
|
||||||
|
b3MouseMoveCallback m_mouseMoveCallback;
|
||||||
|
b3WheelCallback m_wheelCallback;
|
||||||
|
b3KeyboardCallback m_keyboardCallback;
|
||||||
|
b3RenderCallback m_renderCallback;
|
||||||
|
|
||||||
|
float m_retinaScaleFactor;
|
||||||
|
bool m_allowRetina;
|
||||||
};
|
};
|
||||||
|
|
||||||
MacOpenGLWindow::MacOpenGLWindow()
|
struct MacOpenGLWindowInternalData* Mac_createData()
|
||||||
:m_internalData(0),
|
|
||||||
m_mouseX(0),
|
|
||||||
m_mouseY(0),
|
|
||||||
m_modifierFlags(0),
|
|
||||||
m_mouseButtonCallback(0),
|
|
||||||
m_mouseMoveCallback(0),
|
|
||||||
m_wheelCallback(0),
|
|
||||||
m_keyboardCallback(0),
|
|
||||||
m_retinaScaleFactor(1),
|
|
||||||
m_allowRetina(true)
|
|
||||||
{
|
{
|
||||||
|
struct MacOpenGLWindowInternalData* data = malloc(sizeof(struct MacOpenGLWindowInternalData));
|
||||||
|
|
||||||
|
data->m_myApp = 0;
|
||||||
|
data->m_myview = 0;
|
||||||
|
data->m_pool = 0;
|
||||||
|
data->m_window = 0;
|
||||||
|
data->m_exitRequested = false;
|
||||||
|
|
||||||
|
data->m_mouseX=-1;
|
||||||
|
data->m_mouseY=-1;
|
||||||
|
data->m_modifierFlags = 0;
|
||||||
|
|
||||||
|
data->m_mouseButtonCallback = 0;
|
||||||
|
data->m_mouseMoveCallback = 0;;
|
||||||
|
data->m_wheelCallback =0;
|
||||||
|
data->m_keyboardCallback =0;
|
||||||
|
data->m_renderCallback=0;
|
||||||
|
|
||||||
|
data->m_allowRetina = true;
|
||||||
|
data->m_retinaScaleFactor = 1;
|
||||||
|
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
MacOpenGLWindow::~MacOpenGLWindow()
|
void Mac_destroyData(struct MacOpenGLWindowInternalData* data)
|
||||||
{
|
{
|
||||||
if (m_internalData)
|
free(data);
|
||||||
closeWindow();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle)
|
||||||
bool MacOpenGLWindow::isModifierKeyPressed(int key)
|
|
||||||
{
|
{
|
||||||
bool isPressed = false;
|
[data->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ;
|
||||||
|
|
||||||
switch (key)
|
|
||||||
{
|
|
||||||
case B3G_ALT:
|
|
||||||
{
|
|
||||||
isPressed = ((m_modifierFlags & MY_MAC_ALTKEY)!=0);
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
case B3G_SHIFT:
|
|
||||||
{
|
|
||||||
isPressed = ((m_modifierFlags & MY_MAC_SHIFTKEY)!=0);
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
case B3G_CONTROL:
|
|
||||||
{
|
|
||||||
isPressed = ((m_modifierFlags & MY_MAC_CONTROL_KEY )!=0);
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return isPressed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float MacOpenGLWindow::getTimeInSeconds()
|
int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData,struct MacWindowConstructionInfo* ci)
|
||||||
{
|
{
|
||||||
return 0.f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MacOpenGLWindow::setRenderCallback( b3RenderCallback renderCallback)
|
|
||||||
{
|
|
||||||
m_renderCallback = renderCallback;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MacOpenGLWindow::setWindowTitle(const char* windowTitle)
|
|
||||||
{
|
|
||||||
[m_internalData->m_window setTitle:[NSString stringWithCString:windowTitle encoding:NSISOLatin1StringEncoding]] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|
||||||
{
|
|
||||||
if (m_internalData)
|
|
||||||
closeWindow();
|
|
||||||
|
|
||||||
const char* windowTitle = ci.m_title;
|
|
||||||
|
|
||||||
|
|
||||||
|
const char* windowTitle = ci->m_title;
|
||||||
|
m_internalData->m_allowRetina = (ci->m_allowRetina!=0);
|
||||||
|
|
||||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
m_internalData = new MacOpenGLWindowInternalData;
|
|
||||||
|
|
||||||
m_internalData->m_pool = [NSAutoreleasePool new];
|
m_internalData->m_pool = [NSAutoreleasePool new];
|
||||||
m_internalData->m_myApp = [NSApplication sharedApplication];
|
m_internalData->m_myApp = [NSApplication sharedApplication];
|
||||||
//myApp = [MyApp sharedApplication];
|
//myApp = [MyApp sharedApplication];
|
||||||
@@ -419,7 +381,7 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
[newItem release];
|
[newItem release];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NSRect frame = NSMakeRect(0., 0., ci.m_width, ci.m_height);
|
NSRect frame = NSMakeRect(0., 0., ci->m_width, ci->m_height);
|
||||||
|
|
||||||
m_internalData->m_window = [NSWindow alloc];
|
m_internalData->m_window = [NSWindow alloc];
|
||||||
[m_internalData->m_window initWithContentRect:frame
|
[m_internalData->m_window initWithContentRect:frame
|
||||||
@@ -438,13 +400,14 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
[m_internalData->m_myview initWithFrame: frame];
|
[m_internalData->m_myview initWithFrame: frame];
|
||||||
|
|
||||||
// OpenGL init!
|
// OpenGL init!
|
||||||
[m_internalData->m_myview MakeContext : ci.m_openglVersion];
|
[m_internalData->m_myview MakeContext : ci->m_openglVersion];
|
||||||
|
|
||||||
// https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/CapturingScreenContents/CapturingScreenContents.html#//apple_ref/doc/uid/TP40012302-CH10-SW1
|
// https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/CapturingScreenContents/CapturingScreenContents.html#//apple_ref/doc/uid/TP40012302-CH10-SW1
|
||||||
//support HighResolutionOSX for Retina Macbook
|
//support HighResolutionOSX for Retina Macbook
|
||||||
if (ci.m_openglVersion>=3)
|
if (ci->m_openglVersion>=3)
|
||||||
{
|
{
|
||||||
if (m_allowRetina)
|
|
||||||
|
if (m_internalData->m_allowRetina)
|
||||||
{
|
{
|
||||||
[m_internalData->m_myview setWantsBestResolutionOpenGLSurface:YES];
|
[m_internalData->m_myview setWantsBestResolutionOpenGLSurface:YES];
|
||||||
}
|
}
|
||||||
@@ -474,11 +437,11 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
[NSApp activateIgnoringOtherApps:YES];
|
[NSApp activateIgnoringOtherApps:YES];
|
||||||
|
|
||||||
|
|
||||||
//[m_internalData->m_window setLevel:NSMainMenuWindowLevel];
|
//[m_internalData->m_window setLevel:NSMainMenuWindowLevel];
|
||||||
|
|
||||||
// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask];
|
// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask];
|
||||||
|
|
||||||
// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *event)
|
// [NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *event)
|
||||||
// {
|
// {
|
||||||
//[window setFrameOrigin:[NSEvent mouseLocation]];
|
//[window setFrameOrigin:[NSEvent mouseLocation]];
|
||||||
// NSPoint eventLocation = [m_internalData->m_window mouseLocationOutsideOfEventStream];
|
// NSPoint eventLocation = [m_internalData->m_window mouseLocationOutsideOfEventStream];
|
||||||
@@ -496,45 +459,23 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
// }];
|
// }];
|
||||||
|
|
||||||
//see http://stackoverflow.com/questions/8238473/cant-get-nsmousemoved-events-from-nexteventmatchingmask-with-an-nsopenglview
|
//see http://stackoverflow.com/questions/8238473/cant-get-nsmousemoved-events-from-nexteventmatchingmask-with-an-nsopenglview
|
||||||
/* ProcessSerialNumber psn;
|
/* ProcessSerialNumber psn;
|
||||||
GetCurrentProcess(&psn);
|
GetCurrentProcess(&psn);
|
||||||
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
|
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
|
||||||
SetFrontProcess(&psn);
|
SetFrontProcess(&psn);
|
||||||
*/
|
*/
|
||||||
#ifndef NO_OPENGL3
|
|
||||||
m_retinaScaleFactor = [m_internalData->m_myview convertSizeToBacking:sz].width;
|
|
||||||
#else
|
|
||||||
m_retinaScaleFactor=1.f;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
#ifndef NO_OPENGL3
|
||||||
|
m_internalData->m_retinaScaleFactor = [m_internalData->m_myview convertSizeToBacking:sz].width;
|
||||||
|
#else
|
||||||
|
m_internalData->m_retinaScaleFactor=1.f;
|
||||||
|
#endif
|
||||||
[m_internalData->m_myApp finishLaunching];
|
[m_internalData->m_myApp finishLaunching];
|
||||||
[pool release];
|
[pool release];
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MacOpenGLWindow::runMainLoop()
|
|
||||||
{
|
|
||||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
// FILE* dump = fopen ("/Users/erwincoumans/yes.txt","wb");
|
|
||||||
// fclose(dump);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[pool release];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void MacOpenGLWindow::closeWindow()
|
|
||||||
{
|
|
||||||
|
|
||||||
delete m_internalData;
|
|
||||||
m_internalData = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
extern float m_azi;
|
|
||||||
extern float m_ele;
|
|
||||||
extern float m_cameraDistance;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -809,7 +750,7 @@ int getAsciiCodeFromVirtualKeycode(int virtualKeyCode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MacOpenGLWindow::startRendering()
|
int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
@@ -838,42 +779,43 @@ void MacOpenGLWindow::startRendering()
|
|||||||
if ([event type] == MyNSEventTypeFlagsChanged)
|
if ([event type] == MyNSEventTypeFlagsChanged)
|
||||||
{
|
{
|
||||||
int modifiers = [event modifierFlags];
|
int modifiers = [event modifierFlags];
|
||||||
if (m_keyboardCallback)
|
|
||||||
|
if (m_internalData->m_keyboardCallback)
|
||||||
{
|
{
|
||||||
if ((modifiers & MyNSEventModifierFlagShift))
|
if ((modifiers & MyNSEventModifierFlagShift))
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_SHIFT,1);
|
m_internalData->m_keyboardCallback(B3G_SHIFT,1);
|
||||||
m_modifierFlags |= MY_MAC_SHIFTKEY;
|
m_internalData->m_modifierFlags |= MY_MAC_SHIFTKEY;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
if (m_modifierFlags& MY_MAC_SHIFTKEY)
|
if (m_internalData->m_modifierFlags& MY_MAC_SHIFTKEY)
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_SHIFT,0);
|
m_internalData->m_keyboardCallback(B3G_SHIFT,0);
|
||||||
m_modifierFlags &= ~MY_MAC_SHIFTKEY;
|
m_internalData->m_modifierFlags &= ~MY_MAC_SHIFTKEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (modifiers & MyNSEventModifierFlagControl)
|
if (modifiers & MyNSEventModifierFlagControl)
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_CONTROL,1);
|
m_internalData->m_keyboardCallback(B3G_CONTROL,1);
|
||||||
m_modifierFlags |= MY_MAC_CONTROL_KEY;
|
m_internalData->m_modifierFlags |= MY_MAC_CONTROL_KEY;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
if (m_modifierFlags&MY_MAC_CONTROL_KEY)
|
if (m_internalData->m_modifierFlags&MY_MAC_CONTROL_KEY)
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_CONTROL,0);
|
m_internalData->m_keyboardCallback(B3G_CONTROL,0);
|
||||||
m_modifierFlags &= ~MY_MAC_CONTROL_KEY;
|
m_internalData->m_modifierFlags &= ~MY_MAC_CONTROL_KEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (modifiers & MyNSEventModifierFlagOption)
|
if (modifiers & MyNSEventModifierFlagOption)
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_ALT,1);
|
m_internalData->m_keyboardCallback(B3G_ALT,1);
|
||||||
m_modifierFlags |= MY_MAC_ALTKEY;
|
m_internalData->m_modifierFlags |= MY_MAC_ALTKEY;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
if (m_modifierFlags&MY_MAC_ALTKEY)
|
if (m_internalData->m_modifierFlags&MY_MAC_ALTKEY)
|
||||||
{
|
{
|
||||||
m_keyboardCallback(B3G_ALT,0);
|
m_internalData->m_keyboardCallback(B3G_ALT,0);
|
||||||
m_modifierFlags &= ~MY_MAC_ALTKEY;
|
m_internalData->m_modifierFlags &= ~MY_MAC_ALTKEY;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -890,10 +832,10 @@ void MacOpenGLWindow::startRendering()
|
|||||||
int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode);
|
int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode);
|
||||||
// printf("keycode = %d\n", keycode);
|
// printf("keycode = %d\n", keycode);
|
||||||
|
|
||||||
if (m_keyboardCallback)
|
if (m_internalData->m_keyboardCallback)
|
||||||
{
|
{
|
||||||
int state = 0;
|
int state = 0;
|
||||||
m_keyboardCallback(keycode,state);
|
m_internalData->m_keyboardCallback(keycode,state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -909,10 +851,10 @@ void MacOpenGLWindow::startRendering()
|
|||||||
int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode);
|
int keycode = getAsciiCodeFromVirtualKeycode(virtualKeycode);
|
||||||
//printf("keycode = %d\n", keycode);
|
//printf("keycode = %d\n", keycode);
|
||||||
|
|
||||||
if (m_keyboardCallback)
|
if (m_internalData->m_keyboardCallback)
|
||||||
{
|
{
|
||||||
int state = 1;
|
int state = 1;
|
||||||
m_keyboardCallback(keycode,state);
|
m_internalData->m_keyboardCallback(keycode,state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -926,8 +868,8 @@ void MacOpenGLWindow::startRendering()
|
|||||||
|
|
||||||
NSPoint eventLocation = [event locationInWindow];
|
NSPoint eventLocation = [event locationInWindow];
|
||||||
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
||||||
m_mouseX = center.x;
|
m_internalData->m_mouseX = center.x;
|
||||||
m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
||||||
int button=0;
|
int button=0;
|
||||||
switch ([event type])
|
switch ([event type])
|
||||||
{
|
{
|
||||||
@@ -952,10 +894,10 @@ void MacOpenGLWindow::startRendering()
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
// printf("mouse coord = %f, %f\n",mouseX,mouseY);
|
// printf("mouse coord = %f, %f\n",mouseX,mouseY);
|
||||||
if (m_mouseButtonCallback)
|
if (m_internalData->m_mouseButtonCallback)
|
||||||
{
|
{
|
||||||
//handledEvent = true;
|
//handledEvent = true;
|
||||||
(*m_mouseButtonCallback)(button,1,m_mouseX,m_mouseY);
|
(*m_internalData->m_mouseButtonCallback)(button,1,m_internalData->m_mouseX,m_internalData->m_mouseY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -967,8 +909,8 @@ void MacOpenGLWindow::startRendering()
|
|||||||
|
|
||||||
NSPoint eventLocation = [event locationInWindow];
|
NSPoint eventLocation = [event locationInWindow];
|
||||||
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
||||||
m_mouseX = center.x;
|
m_internalData->m_mouseX = center.x;
|
||||||
m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
||||||
|
|
||||||
int button=0;
|
int button=0;
|
||||||
switch ([event type])
|
switch ([event type])
|
||||||
@@ -995,8 +937,8 @@ void MacOpenGLWindow::startRendering()
|
|||||||
};
|
};
|
||||||
|
|
||||||
// printf("mouse coord = %f, %f\n",mouseX,mouseY);
|
// printf("mouse coord = %f, %f\n",mouseX,mouseY);
|
||||||
if (m_mouseButtonCallback)
|
if (m_internalData->m_mouseButtonCallback)
|
||||||
(*m_mouseButtonCallback)(button,0,m_mouseX,m_mouseY);
|
(*m_internalData->m_mouseButtonCallback)(button,0,m_internalData->m_mouseX,m_internalData->m_mouseY);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1006,15 +948,15 @@ void MacOpenGLWindow::startRendering()
|
|||||||
|
|
||||||
NSPoint eventLocation = [event locationInWindow];
|
NSPoint eventLocation = [event locationInWindow];
|
||||||
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
||||||
m_mouseX = center.x;
|
m_internalData->m_mouseX = center.x;
|
||||||
m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
||||||
|
|
||||||
|
|
||||||
// printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY);
|
// printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY);
|
||||||
if (m_mouseMoveCallback)
|
if (m_internalData->m_mouseMoveCallback)
|
||||||
{
|
{
|
||||||
//handledEvent = true;
|
//handledEvent = true;
|
||||||
(*m_mouseMoveCallback)(m_mouseX,m_mouseY);
|
(*m_internalData->m_mouseMoveCallback)(m_internalData->m_mouseX,m_internalData->m_mouseY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1026,13 +968,13 @@ void MacOpenGLWindow::startRendering()
|
|||||||
|
|
||||||
NSPoint eventLocation = [event locationInWindow];
|
NSPoint eventLocation = [event locationInWindow];
|
||||||
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
NSPoint center = [m_internalData->m_myview convertPoint:eventLocation fromView:nil];
|
||||||
m_mouseX = center.x;
|
m_internalData->m_mouseX = center.x;
|
||||||
m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
m_internalData->m_mouseY = [m_internalData->m_myview GetWindowHeight] - center.y;
|
||||||
|
|
||||||
if (m_mouseMoveCallback)
|
if (m_internalData->m_mouseMoveCallback)
|
||||||
{
|
{
|
||||||
//handledEvent = true;
|
//handledEvent = true;
|
||||||
(*m_mouseMoveCallback)(m_mouseX,m_mouseY);
|
(*m_internalData->m_mouseMoveCallback)(m_internalData->m_mouseX,m_internalData->m_mouseY);
|
||||||
}
|
}
|
||||||
|
|
||||||
// printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY);
|
// printf("mouse coord = %f, %f\n",m_mouseX,m_mouseY);
|
||||||
@@ -1044,16 +986,17 @@ void MacOpenGLWindow::startRendering()
|
|||||||
dy = [ event deltaY ];
|
dy = [ event deltaY ];
|
||||||
dx = [ event deltaX ];
|
dx = [ event deltaX ];
|
||||||
|
|
||||||
if (m_wheelCallback)
|
if (m_internalData->m_wheelCallback)
|
||||||
{
|
{
|
||||||
handledEvent = true;
|
handledEvent = true;
|
||||||
(*m_wheelCallback)(dx,dy);
|
(*m_internalData->m_wheelCallback)(dx,dy);
|
||||||
}
|
}
|
||||||
// m_cameraDistance -= dy*0.1;
|
// m_cameraDistance -= dy*0.1;
|
||||||
// m_azi -= dx*0.1;
|
// m_azi -= dx*0.1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!handledEvent)
|
if (!handledEvent)
|
||||||
[m_internalData->m_myApp sendEvent:event];
|
[m_internalData->m_myApp sendEvent:event];
|
||||||
|
|
||||||
@@ -1080,26 +1023,50 @@ void MacOpenGLWindow::startRendering()
|
|||||||
err = glGetError();
|
err = glGetError();
|
||||||
assert(err==GL_NO_ERROR);
|
assert(err==GL_NO_ERROR);
|
||||||
|
|
||||||
float aspect;
|
|
||||||
//b3Vector3 extents;
|
|
||||||
|
|
||||||
if (getWidth() > getHeight())
|
|
||||||
{
|
|
||||||
aspect = (float)getWidth() / (float)getHeight();
|
|
||||||
//extents.setValue(aspect * 1.0f, 1.0f,0);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
aspect = (float)getHeight() / (float)getWidth();
|
|
||||||
//extents.setValue(1.0f, aspect*1.f,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
err = glGetError();
|
err = glGetError();
|
||||||
assert(err==GL_NO_ERROR);
|
assert(err==GL_NO_ERROR);
|
||||||
[pool release];
|
[pool release];
|
||||||
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MacOpenGLWindow::endRendering()
|
int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key)
|
||||||
|
{
|
||||||
|
|
||||||
|
int isPressed = 0;
|
||||||
|
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case B3G_ALT:
|
||||||
|
{
|
||||||
|
isPressed = ((m_internalData->m_modifierFlags & MY_MAC_ALTKEY)!=0);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
case B3G_SHIFT:
|
||||||
|
{
|
||||||
|
isPressed = ((m_internalData->m_modifierFlags & MY_MAC_SHIFTKEY)!=0);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
case B3G_CONTROL:
|
||||||
|
{
|
||||||
|
isPressed = ((m_internalData->m_modifierFlags & MY_MAC_CONTROL_KEY )!=0);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return isPressed;
|
||||||
|
}
|
||||||
|
|
||||||
|
//void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback)
|
||||||
|
//{
|
||||||
|
// m_internalData->m_renderCallback = renderCallback;
|
||||||
|
//}
|
||||||
|
|
||||||
|
void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
[m_internalData->m_myview MakeCurrent];
|
[m_internalData->m_myview MakeCurrent];
|
||||||
//#ifndef NO_OPENGL3
|
//#ifndef NO_OPENGL3
|
||||||
@@ -1110,19 +1077,74 @@ void MacOpenGLWindow::endRendering()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MacOpenGLWindow::requestedExit() const
|
int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
bool closeme = m_internalData->m_myview.GetRequestClose;
|
int closeme = m_internalData->m_myview.GetRequestClose;
|
||||||
return m_internalData->m_exitRequested || closeme;
|
return m_internalData->m_exitRequested || closeme;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MacOpenGLWindow::setRequestExit()
|
void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
m_internalData->m_exitRequested = true;
|
m_internalData->m_exitRequested = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength)
|
|
||||||
|
void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback)
|
||||||
|
{
|
||||||
|
m_internalData->m_mouseButtonCallback = mouseCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
|
{
|
||||||
|
return m_internalData->m_mouseButtonCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback)
|
||||||
|
{
|
||||||
|
m_internalData->m_wheelCallback = wheelCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
|
{
|
||||||
|
return m_internalData->m_wheelCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback)
|
||||||
|
{
|
||||||
|
m_internalData->m_mouseMoveCallback = mouseCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
|
{
|
||||||
|
return m_internalData->m_mouseMoveCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
|
{
|
||||||
|
return m_internalData->m_keyboardCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Mac_setKeyboardCallback( struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback)
|
||||||
|
{
|
||||||
|
m_internalData->m_keyboardCallback = keyboardCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
|
{
|
||||||
|
return m_internalData->m_retinaScaleFactor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow)
|
||||||
|
{
|
||||||
|
m_internalData->m_allowRetina = allow;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int Mac_fileOpenDialog(char* filename, int maxNameLength)
|
||||||
{
|
{
|
||||||
//save/restore the OpenGL context, NSOpenPanel can mess it up
|
//save/restore the OpenGL context, NSOpenPanel can mess it up
|
||||||
//http://stackoverflow.com/questions/13987148/nsopenpanel-breaks-my-sdl-opengl-app
|
//http://stackoverflow.com/questions/13987148/nsopenpanel-breaks-my-sdl-opengl-app
|
||||||
@@ -1145,7 +1167,7 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength)
|
|||||||
{
|
{
|
||||||
//without the file://
|
//without the file://
|
||||||
NSString *myString = [zUrl absoluteString];
|
NSString *myString = [zUrl absoluteString];
|
||||||
int slen = [myString length];
|
int slen = (int)[myString length];
|
||||||
if (slen < maxNameLength)
|
if (slen < maxNameLength)
|
||||||
{
|
{
|
||||||
const char *cfilename=[myString UTF8String];
|
const char *cfilename=[myString UTF8String];
|
||||||
@@ -1153,7 +1175,7 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength)
|
|||||||
const char* p = strstr(cfilename, "file://");
|
const char* p = strstr(cfilename, "file://");
|
||||||
if (p==cfilename)
|
if (p==cfilename)
|
||||||
{
|
{
|
||||||
int actualLen = strlen(cfilename)-7;
|
int actualLen = (int)strlen(cfilename)-7;
|
||||||
memcpy(filename, cfilename+7,actualLen);
|
memcpy(filename, cfilename+7,actualLen);
|
||||||
filename[actualLen]=0;
|
filename[actualLen]=0;
|
||||||
return actualLen;
|
return actualLen;
|
||||||
@@ -1164,23 +1186,20 @@ int MacOpenGLWindow::fileOpenDialog(char* filename, int maxNameLength)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr)
|
||||||
|
|
||||||
void MacOpenGLWindow::getMouseCoordinates(int& x, int& y)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
NSPoint pt = [m_internalData->m_window mouseLocationOutsideOfEventStream];
|
NSPoint pt = [m_internalData->m_window mouseLocationOutsideOfEventStream];
|
||||||
m_mouseX = pt.x;
|
m_internalData->m_mouseX = pt.x;
|
||||||
m_mouseY = pt.y;
|
m_internalData->m_mouseY = pt.y;
|
||||||
|
|
||||||
x = m_mouseX;
|
*xPtr = m_internalData->m_mouseX;
|
||||||
//our convention is x,y is upper left hand side
|
//our convention is x,y is upper left hand side
|
||||||
y = [m_internalData->m_myview GetWindowHeight]-m_mouseY;
|
*yPtr = [m_internalData->m_myview GetWindowHeight]-m_internalData->m_mouseY;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int MacOpenGLWindow::getWidth() const
|
int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowWidth)
|
if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowWidth)
|
||||||
return m_internalData->m_myview.GetWindowWidth;
|
return m_internalData->m_myview.GetWindowWidth;
|
||||||
@@ -1188,25 +1207,23 @@ int MacOpenGLWindow::getWidth() const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MacOpenGLWindow::getHeight() const
|
int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowHeight)
|
if (m_internalData && m_internalData->m_myview && m_internalData->m_myview.GetWindowHeight)
|
||||||
return m_internalData->m_myview.GetWindowHeight;
|
return m_internalData->m_myview.GetWindowHeight;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback)
|
||||||
void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback)
|
|
||||||
{
|
{
|
||||||
[m_internalData->m_myview setResizeCallback:resizeCallback];
|
[m_internalData->m_myview setResizeCallback:resizeCallback];
|
||||||
if (resizeCallback)
|
if (resizeCallback)
|
||||||
{
|
{
|
||||||
(resizeCallback)(getWidth(), getHeight());
|
(resizeCallback)(Mac_getWidth(m_internalData), Mac_getHeight(m_internalData));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
b3ResizeCallback MacOpenGLWindow::getResizeCallback()
|
b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData)
|
||||||
{
|
{
|
||||||
return [m_internalData->m_myview getResizeCallback];
|
return [m_internalData->m_myview getResizeCallback];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,10 +41,17 @@
|
|||||||
"X11OpenGLWindows.h"
|
"X11OpenGLWindows.h"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
if not os.is("MacoSX") then
|
||||||
|
excludes {
|
||||||
|
"MacOpenGLWindow.cpp"
|
||||||
|
}
|
||||||
|
end
|
||||||
if os.is("MacOSX") then
|
if os.is("MacOSX") then
|
||||||
files
|
files
|
||||||
{
|
{
|
||||||
"../OpenGLWindow/MacOpenGLWindow.h",
|
"MacOpenGLWindow.h",
|
||||||
"../OpenGLWindow/MacOpenGLWindow.mm",
|
"MacOpenGLWindow.cpp",
|
||||||
|
"MacOpenGLWindowObjC.m",
|
||||||
|
"MacOpenGLWindowObjC.h",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|||||||
389
setup.py
Normal file
389
setup.py
Normal file
@@ -0,0 +1,389 @@
|
|||||||
|
|
||||||
|
from setuptools import find_packages
|
||||||
|
from sys import platform as _platform
|
||||||
|
import sys
|
||||||
|
import glob
|
||||||
|
|
||||||
|
from distutils.core import setup
|
||||||
|
from distutils.extension import Extension
|
||||||
|
from distutils.util import get_platform
|
||||||
|
from glob import glob
|
||||||
|
|
||||||
|
#see http://stackoverflow.com/a/8719066/295157
|
||||||
|
import os
|
||||||
|
os.environ['LDFLAGS'] = '-framework Cocoa -framework OpenGL'
|
||||||
|
|
||||||
|
|
||||||
|
platform = get_platform()
|
||||||
|
print(platform)
|
||||||
|
|
||||||
|
CXX_FLAGS = ''
|
||||||
|
CXX_FLAGS += '-DGWEN_COMPILE_STATIC '
|
||||||
|
CXX_FLAGS += '-DBT_ENABLE_ENET '
|
||||||
|
CXX_FLAGS += '-DBT_ENABLE_CLSOCKET '
|
||||||
|
|
||||||
|
# libraries += [current_python]
|
||||||
|
|
||||||
|
|
||||||
|
sources = ["examples/pybullet/pybullet.c"]\
|
||||||
|
+["examples/ExampleBrowser/InProcessExampleBrowser.cpp"]\
|
||||||
|
+["examples/TinyRenderer/geometry.cpp"]\
|
||||||
|
+["examples/TinyRenderer/model.cpp"]\
|
||||||
|
+["examples/TinyRenderer/tgaimage.cpp"]\
|
||||||
|
+["examples/TinyRenderer/our_gl.cpp"]\
|
||||||
|
+["examples/TinyRenderer/TinyRenderer.cpp"]\
|
||||||
|
+["examples/SharedMemory/IKTrajectoryHelper.cpp"]\
|
||||||
|
+["examples/SharedMemory/InProcessMemory.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsClient.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsServer.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsServerExample.cpp"]\
|
||||||
|
+["examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsServerSharedMemory.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsDirect.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsDirectC_API.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsServerCommandProcessor.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsClientSharedMemory.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp"]\
|
||||||
|
+["examples/SharedMemory/PhysicsClientC_API.cpp"]\
|
||||||
|
+["examples/SharedMemory/Win32SharedMemory.cpp"]\
|
||||||
|
+["examples/SharedMemory/PosixSharedMemory.cpp"]\
|
||||||
|
+["examples/SharedMemory/TinyRendererVisualShapeConverter.cpp"]\
|
||||||
|
+["examples/Utils/b3ResourcePath.cpp"]\
|
||||||
|
+["examples/Utils/RobotLoggingUtil.cpp"]\
|
||||||
|
+["examples/Utils/ChromeTraceUtil.cpp"]\
|
||||||
|
+["examples/Utils/b3Clock.cpp"]\
|
||||||
|
+["examples/Utils/b3Quickprof.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/tinyxml/tinystr.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/tinyxml/tinyxml.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/stb_image/stb_image.cpp"]\
|
||||||
|
+["examples/Importers/ImportColladaDemo/LoadMeshFromCollada.cpp"]\
|
||||||
|
+["examples/Importers/ImportObjDemo/LoadMeshFromObj.cpp"]\
|
||||||
|
+["examples/Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.cpp"]\
|
||||||
|
+["examples/Importers/ImportMJCFDemo/BulletMJCFImporter.cpp"]\
|
||||||
|
+["examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp"]\
|
||||||
|
+["examples/Importers/ImportURDFDemo/MyMultiBodyCreator.cpp"]\
|
||||||
|
+["examples/Importers/ImportURDFDemo/URDF2Bullet.cpp"]\
|
||||||
|
+["examples/Importers/ImportURDFDemo/UrdfParser.cpp"]\
|
||||||
|
+["examples/Importers/ImportURDFDemo/urdfStringSplit.cpp"]\
|
||||||
|
+["examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp"]\
|
||||||
|
+["examples/MultiThreading/b3PosixThreadSupport.cpp"]\
|
||||||
|
+["examples/MultiThreading/b3Win32ThreadSupport.cpp"]\
|
||||||
|
+["examples/MultiThreading/b3ThreadSupportInterface.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/callbacks.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/compress.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/host.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/list.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/packet.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/peer.c"]\
|
||||||
|
+["examples/ThirdPartyLibs/enet/protocol.c"]\
|
||||||
|
+["examples/ExampleBrowser/OpenGLGuiHelper.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/OpenGLExampleBrowser.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/CollisionShape2TriangleMesh.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GL_ShapeDrawer.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/SimpleOpenGL2Renderer.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/GLInstancingRenderer.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/SimpleOpenGL3App.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/GLPrimitiveRenderer.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/TwFonts.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/GLRenderToTexture.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/LoadShader.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/OpenSans.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/SimpleCamera.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/fontstash.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/SimpleOpenGL2App.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/opengl_fontstashcallbacks.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GwenGUISupport/GraphingTexture.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GwenGUISupport/GwenProfileWindow.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GwenGUISupport/gwenUserInterface.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GwenGUISupport/GwenParameterInterface.cpp"]\
|
||||||
|
+["examples/ExampleBrowser/GwenGUISupport/GwenTextureWindow.cpp"]\
|
||||||
|
+["src/LinearMath/btAlignedAllocator.cpp"]\
|
||||||
|
+["src/LinearMath/btGeometryUtil.cpp"]\
|
||||||
|
+["src/LinearMath/btSerializer.cpp"]\
|
||||||
|
+["src/LinearMath/btVector3.cpp"]\
|
||||||
|
+["src/LinearMath/btConvexHull.cpp"]\
|
||||||
|
+["src/LinearMath/btPolarDecomposition.cpp"]\
|
||||||
|
+["src/LinearMath/btSerializer64.cpp"]\
|
||||||
|
+["src/LinearMath/btConvexHullComputer.cpp"]\
|
||||||
|
+["src/LinearMath/btQuickprof.cpp"]\
|
||||||
|
+["src/LinearMath/btThreads.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btDbvt.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btDispatcher.cpp"]\
|
||||||
|
+["src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btManifoldResult.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCollisionObject.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btUnionFind.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionDispatch/btGhostObject.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btContinuousConvexCollision.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btGjkEpaPenetrationDepthSolver.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btPolyhedralContactClipping.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btConvexCast.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btGjkPairDetector.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btRaycastCallback.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btGjkConvexCast.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btMinkowskiPenetrationDepthSolver.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btSubSimplexConvexCast.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btGjkEpa2.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btPersistentManifold.cpp"]\
|
||||||
|
+["src/BulletCollision/NarrowphaseCollision/btVoronoiSimplexSolver.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btBox2dShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btShapeHull.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btBoxShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btSphereShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btCapsuleShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btCylinderShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btCollisionShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btEmptyShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btCompoundShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConcaveShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleCallback.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConeShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvex2dShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexHullShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleMesh.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp"]\
|
||||||
|
+["src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btContactProcessing.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btTriangleShapeEx.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/gim_memory.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btGImpactBvh.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btGImpactShape.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/gim_box_set.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/gim_tri_collision.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp"]\
|
||||||
|
+["src/BulletCollision/Gimpact/gim_contact.cpp"]\
|
||||||
|
+["src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp"]\
|
||||||
|
+["src/BulletDynamics/Dynamics/btRigidBody.cpp"]\
|
||||||
|
+["src/BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp"]\
|
||||||
|
+["src/BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp"]\
|
||||||
|
+["src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp"]\
|
||||||
|
+["src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp"]\
|
||||||
|
+["src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp"]\
|
||||||
|
+["src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBody.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp"]\
|
||||||
|
+["src/BulletDynamics/Vehicle/btRaycastVehicle.cpp"]\
|
||||||
|
+["src/BulletDynamics/Vehicle/btWheelInfo.cpp"]\
|
||||||
|
+["src/BulletDynamics/Character/btKinematicCharacterController.cpp"]\
|
||||||
|
+["src/Bullet3Common/b3AlignedAllocator.cpp"]\
|
||||||
|
+["src/Bullet3Common/b3Logging.cpp"]\
|
||||||
|
+["src/Bullet3Common/b3Vector3.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/clsocket/src/ActiveSocket.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/clsocket/src/PassiveSocket.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/clsocket/src/SimpleSocket.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletFileLoader/bChunk.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletFileLoader/bDNA.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletFileLoader/bFile.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletFileLoader/btBulletFile.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp"]\
|
||||||
|
+["Extras/Serialize/BulletWorldImporter/btWorldImporter.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/CloneTreeCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/IDRandomUtil.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/MultiBodyTreeDebugGraph.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/User2InternalIndex.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/CoilCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/MultiBodyNameMap.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/RandomTreeCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/btMultiBodyTreeCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/DillCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/MultiBodyTreeCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/SimpleTreeCreator.cpp"]\
|
||||||
|
+["Extras/InverseDynamics/invdyn_bullet_comparison.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btDefaultSoftBodySolver.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftBodyHelpers.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftBody.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftMultiBodyDynamicsWorld.cpp"]\
|
||||||
|
+["src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp"]\
|
||||||
|
+["src/BulletInverseDynamics/IDMath.cpp"]\
|
||||||
|
+["src/BulletInverseDynamics/MultiBodyTree.cpp"]\
|
||||||
|
+["src/BulletInverseDynamics/details/MultiBodyTreeImpl.cpp"]\
|
||||||
|
+["src/BulletInverseDynamics/details/MultiBodyTreeInitCache.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/Jacobian.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/LinearR2.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/LinearR3.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/LinearR4.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/MatrixRmn.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/Misc.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/Node.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/Tree.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/BussIK/VectorRn.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Anim.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/DragAndDrop.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Hook.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/ToolTip.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/events.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/BaseRender.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Gwen.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Skin.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Utility.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/inputhandler.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Base.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Button.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Canvas.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/CheckBox.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ColorControls.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ColorPicker.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ComboBox.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/CrossSplitter.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/DockBase.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/DockedTabControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Dragger.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/GroupBox.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/HSVColorPicker.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/HorizontalScrollBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ImagePanel.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/HorizontalSlider.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Label.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/LabelClickable.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ListBox.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/MenuItem.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Menu.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/MenuStrip.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/NumericUpDown.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/PanelListPanel.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ProgressBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Properties.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/RadioButton.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/RadioButtonController.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ResizableControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Resizer.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/RichLabel.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ScrollBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ScrollBarBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ScrollBarButton.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/ScrollControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Slider.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/SplitterBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TabButton.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TabControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TabStrip.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Text.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TextBox.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TextBoxNumeric.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TreeControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/TreeNode.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/VerticalScrollBar.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/VerticalSlider.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/WindowControl.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileOpen.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileSave.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Controls/Dialog/Query.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Platforms/Null.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Platforms/Windows.cpp"]\
|
||||||
|
+["examples/ThirdPartyLibs/Gwen/Renderers/OpenGL_DebugFont.cpp"]\
|
||||||
|
|
||||||
|
if _platform == "linux" or _platform == "linux2":
|
||||||
|
libraries += ['dl']
|
||||||
|
CXX_FLAGS += '-D_LINUX '
|
||||||
|
CXX_FLAGS += '-DHAS_SOCKLEN_T '
|
||||||
|
CXX_FLAGS += '-fno-inline-functions-called-once'
|
||||||
|
elif _platform == "darwin":
|
||||||
|
print("darwin!")
|
||||||
|
CXX_FLAGS += '-DHAS_SOCKLEN_T '
|
||||||
|
CXX_FLAGS += '-D_DARWIN '
|
||||||
|
# CXX_FLAGS += '-framework Cocoa '
|
||||||
|
sources = sources + ["examples/ThirdPartyLibs/enet/unix.c"]\
|
||||||
|
+["examples/OpenGLWindow/MacOpenGLWindow.cpp"]\
|
||||||
|
+["examples/OpenGLWindow/MacOpenGLWindowObjC.m"]
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name = 'pybullet',
|
||||||
|
version='0.1.0',
|
||||||
|
description='Official Python Interface for the Bullet Physics SDK Robotics Simulator',
|
||||||
|
long_description='pybullet is an easy to use Python module for physics simulation, robotics and machine learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.',
|
||||||
|
url='https://github.com/bulletphysics/bullet3',
|
||||||
|
author='Erwin Coumans, Yunfei Bai, Jasmine Hsu',
|
||||||
|
author_email='erwincoumans@google.com',
|
||||||
|
license='zlib',
|
||||||
|
platforms='any',
|
||||||
|
keywords=['physics', 'robotics', 'collision detection', 'simulation'],
|
||||||
|
ext_modules = [Extension("pybullet",
|
||||||
|
sources = sources
|
||||||
|
,
|
||||||
|
extra_compile_args=CXX_FLAGS.split(),
|
||||||
|
include_dirs = ["src","examples/ThirdPartyLibs","examples/ThirdPartyLibs/Glew", "examples/ThirdPartyLibs/enet/include","examples/ThirdPartyLibs/clsocket/src"]
|
||||||
|
) ],
|
||||||
|
package_data = {
|
||||||
|
'pybullet': ['data/*'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
@@ -63,7 +63,9 @@
|
|||||||
links{"Cocoa.framework"}
|
links{"Cocoa.framework"}
|
||||||
print("hello!")
|
print("hello!")
|
||||||
files{
|
files{
|
||||||
"../../examples/OpenGLWindow/MacOpenGLWindow.mm",
|
"../../examples/OpenGLWindow/MacOpenGLWindow.cpp",
|
||||||
"../../examples/OpenGLWindow/MacOpenGLWindow.h",
|
"../../examples/OpenGLWindow/MacOpenGLWindow.h",
|
||||||
|
"../../examples/OpenGLWindow/MacOpenGLWindowObjC.m",
|
||||||
|
"../../examples/OpenGLWindow/MacOpenGLWindowObjC.h",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user