fix studio staying open on Windows machines after close
This commit is contained in:
parent
2f34afd1ae
commit
7f58689d82
|
|
@ -39,4 +39,6 @@ int main(int argc, char** argv)
|
|||
window.ogreWidget->render();
|
||||
world->update();
|
||||
}
|
||||
|
||||
app.exit();
|
||||
}
|
||||
|
|
@ -29,6 +29,7 @@ add_library(Engine STATIC
|
|||
Header/App/V8/World/World.hpp
|
||||
Header/App/V8/World/Weld.hpp
|
||||
Header/App/V8/World/JointsService.hpp
|
||||
Header/App/V8/World/JointInstance.hpp
|
||||
Header/App/V8/World/ComPlicitNgine.hpp
|
||||
Header/App/CoordinateFrame.hpp
|
||||
Header/App/BrickColor.hpp
|
||||
|
|
@ -69,6 +70,7 @@ add_library(Engine STATIC
|
|||
Source/App/V8/World/World.cpp
|
||||
Source/App/V8/World/Weld.cpp
|
||||
Source/App/V8/World/JointsService.cpp
|
||||
Source/App/V8/World/JointInstance.cpp
|
||||
Source/App/V8/World/ComPlicitNgine.cpp
|
||||
Source/Network/GUID.cpp
|
||||
Source/Network/Player.cpp
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
#pragma once
|
||||
#include <App/V8/Tree/Instance.hpp>
|
||||
#include <App/V8/DataModel/PartInstance.hpp>
|
||||
#include <App/V8/World/ComPlicitNgine.hpp>
|
||||
|
||||
namespace RNR
|
||||
{
|
||||
class JointInstance : public Instance
|
||||
{
|
||||
PartInstance *m_aInstance, *m_bInstance;
|
||||
btRigidBody *m_aBody, *m_bBody;
|
||||
CoordinateFrame m_c0, m_c1;
|
||||
virtual void addProperties(std::vector<ReflectionProperty>& properties);
|
||||
virtual void deserializeProperty(char* prop_name, pugi::xml_node prop);
|
||||
public:
|
||||
JointInstance();
|
||||
|
||||
void setBodies(PartInstance* a, PartInstance* b);
|
||||
|
||||
PartInstance* getABody() { return m_aInstance; }
|
||||
void setABody(PartInstance* a) { m_aInstance = a; }
|
||||
PartInstance* getBBody() { return m_bInstance; }
|
||||
void setBBody(PartInstance* b) { m_bInstance = b; }
|
||||
|
||||
CoordinateFrame& getC0() { return m_c0; }
|
||||
void setC0(CoordinateFrame c) { m_c0 = c; }
|
||||
CoordinateFrame& getC1() { return m_c1; }
|
||||
void setC1(CoordinateFrame c) { m_c1 = c; }
|
||||
|
||||
|
||||
void link();
|
||||
};
|
||||
}
|
||||
|
|
@ -2,10 +2,11 @@
|
|||
#include <App/V8/Tree/Instance.hpp>
|
||||
#include <App/V8/DataModel/PartInstance.hpp>
|
||||
#include <App/V8/World/ComPlicitNgine.hpp>
|
||||
#include <App/V8/World/JointInstance.hpp>
|
||||
|
||||
namespace RNR
|
||||
{
|
||||
class Weld : public Instance
|
||||
class Weld : public JointInstance
|
||||
{
|
||||
btRigidBody* m_aBody;
|
||||
PartInstance* m_aInstance;
|
||||
|
|
@ -14,9 +15,6 @@ namespace RNR
|
|||
PartInstance* m_bInstance;
|
||||
|
||||
btFixedConstraint* m_constraint;
|
||||
|
||||
virtual void addProperties(std::vector<ReflectionProperty>& properties);
|
||||
virtual void deserializeProperty(char* prop_name, pugi::xml_node prop);
|
||||
public:
|
||||
Weld();
|
||||
~Weld();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
#include <App/V8/World/JointInstance.hpp>
|
||||
#include <App/V8/World/World.hpp>
|
||||
|
||||
namespace RNR
|
||||
{
|
||||
JointInstance::JointInstance()
|
||||
{
|
||||
setName("Joint");
|
||||
}
|
||||
|
||||
void JointInstance::setBodies(PartInstance* a, PartInstance* b)
|
||||
{
|
||||
m_aInstance = a;
|
||||
m_bInstance = b;
|
||||
|
||||
m_aBody = world->getComPlicitNgine()->getBody(a);
|
||||
m_bBody = world->getComPlicitNgine()->getBody(b);
|
||||
}
|
||||
|
||||
void JointInstance::addProperties(std::vector<ReflectionProperty>& properties)
|
||||
{
|
||||
ReflectionProperty _properties[] = {
|
||||
{ this, std::string("Part0"), std::string(""),
|
||||
ACCESS_NONE, OPERATION_READWRITE, PROPERTY_INSTANCE,
|
||||
REFLECTION_GETTER(JointInstance* instance = (JointInstance*)object; return instance->m_aInstance; ),
|
||||
REFLECTION_SETTER(JointInstance* instance = (JointInstance*)object; ) },
|
||||
{ this, std::string("Part1"), std::string(""),
|
||||
ACCESS_NONE, OPERATION_READWRITE, PROPERTY_INSTANCE,
|
||||
REFLECTION_GETTER(JointInstance* instance = (JointInstance*)object; return instance->m_bInstance; ),
|
||||
REFLECTION_SETTER(JointInstance* instance = (JointInstance*)object; ) },
|
||||
};
|
||||
|
||||
properties.insert(properties.end(), _properties, _properties+(sizeof(_properties)/sizeof(ReflectionProperty)));
|
||||
}
|
||||
|
||||
void JointInstance::deserializeProperty(char* prop_name, pugi::xml_node prop)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
namespace RNR
|
||||
{
|
||||
Weld::Weld()
|
||||
Weld::Weld() : JointInstance()
|
||||
{
|
||||
setName("Weld");
|
||||
}
|
||||
|
|
@ -13,15 +13,6 @@ namespace RNR
|
|||
destroy();
|
||||
}
|
||||
|
||||
void Weld::weld(PartInstance* a, PartInstance* b)
|
||||
{
|
||||
m_aInstance = a;
|
||||
m_bInstance = b;
|
||||
|
||||
m_aBody = world->getComPlicitNgine()->getBody(a);
|
||||
m_bBody = world->getComPlicitNgine()->getBody(b);
|
||||
}
|
||||
|
||||
bool Weld::create()
|
||||
{
|
||||
if(!m_aBody || !m_bBody)
|
||||
|
|
@ -51,25 +42,4 @@ namespace RNR
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Weld::addProperties(std::vector<ReflectionProperty>& properties)
|
||||
{
|
||||
ReflectionProperty _properties[] = {
|
||||
{ this, std::string("Part0"), std::string(""),
|
||||
ACCESS_NONE, OPERATION_READWRITE, PROPERTY_INSTANCE,
|
||||
REFLECTION_GETTER(Weld* instance = (Weld*)object; return instance->m_aInstance; ),
|
||||
REFLECTION_SETTER(Weld* instance = (Weld*)object; ) },
|
||||
{ this, std::string("Part1"), std::string(""),
|
||||
ACCESS_NONE, OPERATION_READWRITE, PROPERTY_INSTANCE,
|
||||
REFLECTION_GETTER(Weld* instance = (Weld*)object; return instance->m_bInstance; ),
|
||||
REFLECTION_SETTER(Weld* instance = (Weld*)object; ) },
|
||||
};
|
||||
|
||||
properties.insert(properties.end(), _properties, _properties+(sizeof(_properties)/sizeof(ReflectionProperty)));
|
||||
}
|
||||
|
||||
void Weld::deserializeProperty(char* prop_name, pugi::xml_node prop)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue