[DEV] update some physic interface
This commit is contained in:
parent
4b86e2902a
commit
569d6c0b51
@ -236,7 +236,8 @@ void ege::Environement::getOrderedElementForDisplay(std::vector<ege::Environemen
|
||||
result.element = m_listElement[iii];
|
||||
// check distance ...
|
||||
vec3 destPosition = result.element->getPosition();
|
||||
vec3 angleView = (destPosition - _position).normalized();
|
||||
vec3 angleView = (destPosition - _position);
|
||||
angleView.safeNormalize();
|
||||
float dotResult=angleView.dot(_direction);
|
||||
//EGE_DEBUG("Dot position : " << destPosition << " == > dot=" << dotResult);
|
||||
/*
|
||||
|
@ -29,7 +29,7 @@
|
||||
#define ELEMENT_SCALE (1.0f/8.0f)
|
||||
|
||||
namespace ege {
|
||||
class Element {
|
||||
class Element : public std::enable_shared_from_this<Element> {
|
||||
protected:
|
||||
std::shared_ptr<ege::Environement> m_env;
|
||||
public:
|
||||
|
@ -395,6 +395,31 @@ void ege::ElementPhysic::iaDisable() {
|
||||
m_IA = nullptr;
|
||||
}
|
||||
|
||||
void ege::ElementPhysic::setMass(float _value) {
|
||||
if (m_body == nullptr) {
|
||||
return;
|
||||
}
|
||||
m_body->setMassProps(_value, vec3(0,0,0));
|
||||
}
|
||||
|
||||
void ege::ElementPhysic::setLinearVelocity(const vec3& _value) {
|
||||
if (m_body == nullptr) {
|
||||
return;
|
||||
}
|
||||
m_body->setLinearVelocity(vec3(0,0,0));
|
||||
}
|
||||
|
||||
void ege::ElementPhysic::setTorqueImpulse(const vec3& _value) {
|
||||
if (m_body == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ege::ElementPhysic::setAngularVelocity(const vec3& _value) {
|
||||
if (m_body == nullptr) {
|
||||
return;
|
||||
}
|
||||
m_body->setAngularVelocity(_value);
|
||||
}
|
||||
|
||||
|
@ -109,6 +109,14 @@ namespace ege {
|
||||
* @return the mass in kG.
|
||||
*/
|
||||
const float getInvMass();
|
||||
|
||||
virtual void setMass(float _value);
|
||||
virtual void setLinearVelocity(const vec3& _value);
|
||||
virtual void setTorqueImpulse(const vec3& _value);
|
||||
virtual void setAngularVelocity(const vec3& _value);
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
bool m_elementInPhysicsSystem;
|
||||
public:
|
||||
|
@ -30,7 +30,8 @@
|
||||
#undef __class__
|
||||
#define __class__ "Scene"
|
||||
|
||||
ege::widget::Scene::Scene() {
|
||||
ege::widget::Scene::Scene() :
|
||||
m_cameraName("default") {
|
||||
addObjectType("ege::widget::Scene");
|
||||
}
|
||||
|
||||
@ -81,6 +82,10 @@ void ege::widget::Scene::onDraw() {
|
||||
|
||||
// get camera :
|
||||
std::shared_ptr<ege::Camera> camera = m_env->getCamera(m_cameraName);
|
||||
if (camera == nullptr) {
|
||||
EGE_ERROR(" can not get camera named: '" << m_cameraName << "'");
|
||||
return;
|
||||
}
|
||||
//EGE_DEBUG("Draw (start)");
|
||||
mat4 tmpMatrix;
|
||||
std::shared_ptr<btDynamicsWorld> world = m_env->getPhysicEngine().getDynamicWorld();
|
||||
|
Loading…
x
Reference in New Issue
Block a user