Improved conformance, added Auto-Camera UP support (from asset <up_axis>Y_UP</up_axis>)
Added the Bullet signature for export (comment/author/authoring_tool)
This commit is contained in:
@@ -88,7 +88,7 @@ extern int gForwardAxis;
|
|||||||
#include "dom/domCOLLADA.h"
|
#include "dom/domCOLLADA.h"
|
||||||
|
|
||||||
DAE* collada = 0;
|
DAE* collada = 0;
|
||||||
|
domCOLLADA* dom = 0;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -939,7 +939,7 @@ int main(int argc,char** argv)
|
|||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
|
|
||||||
domCOLLADA *dom = collada->getDom(filename);
|
dom = collada->getDom(filename);
|
||||||
if ( !dom )
|
if ( !dom )
|
||||||
{
|
{
|
||||||
printf("COLLADA File loaded to the dom, but query for the dom assets failed \n" );
|
printf("COLLADA File loaded to the dom, but query for the dom assets failed \n" );
|
||||||
@@ -961,11 +961,15 @@ int main(int argc,char** argv)
|
|||||||
printf(" Conversion to X axis Up isn't currently supported!\n" );
|
printf(" Conversion to X axis Up isn't currently supported!\n" );
|
||||||
printf(" COLLADA_RT defaulting to Y Up \n" );
|
printf(" COLLADA_RT defaulting to Y Up \n" );
|
||||||
physicsEnvironmentPtr->setGravity(-10,0,0);
|
physicsEnvironmentPtr->setGravity(-10,0,0);
|
||||||
|
gCameraUp = SimdVector3(1,0,0);
|
||||||
|
gForwardAxis = 1;
|
||||||
break;
|
break;
|
||||||
case UPAXISTYPE_Y_UP:
|
case UPAXISTYPE_Y_UP:
|
||||||
printf(" Y Axis is Up for this file \n" );
|
printf(" Y Axis is Up for this file \n" );
|
||||||
printf(" COLLADA_RT set to Y Up \n" );
|
printf(" COLLADA_RT set to Y Up \n" );
|
||||||
physicsEnvironmentPtr->setGravity(0,-10,0);
|
physicsEnvironmentPtr->setGravity(0,-10,0);
|
||||||
|
gCameraUp = SimdVector3(0,1,0);
|
||||||
|
gForwardAxis = 0;
|
||||||
break;
|
break;
|
||||||
case UPAXISTYPE_Z_UP:
|
case UPAXISTYPE_Z_UP:
|
||||||
printf(" Z Axis is Up for this file \n" );
|
printf(" Z Axis is Up for this file \n" );
|
||||||
@@ -1112,6 +1116,8 @@ int main(int argc,char** argv)
|
|||||||
if (bodyName && model)
|
if (bodyName && model)
|
||||||
{
|
{
|
||||||
//try to find the rigid body
|
//try to find the rigid body
|
||||||
|
int numBody = model->getRigid_body_array().getCount();
|
||||||
|
|
||||||
for (int r=0;r<model->getRigid_body_array().getCount();r++)
|
for (int r=0;r<model->getRigid_body_array().getCount();r++)
|
||||||
{
|
{
|
||||||
domRigid_bodyRef rigidBodyRef = model->getRigid_body_array()[r];
|
domRigid_bodyRef rigidBodyRef = model->getRigid_body_array()[r];
|
||||||
@@ -1923,6 +1929,40 @@ void clientKeyboard(unsigned char key, int x, int y)
|
|||||||
{
|
{
|
||||||
name = &saveName[1];
|
name = &saveName[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dom->getAsset()->getContributor_array().getCount())
|
||||||
|
{
|
||||||
|
if (!dom->getAsset()->getContributor_array().get(0)->getAuthor())
|
||||||
|
{
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->createAndPlace("author");
|
||||||
|
}
|
||||||
|
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->getAuthor()->setValue
|
||||||
|
("http://bullet.sourceforge.net Erwin Coumans");
|
||||||
|
|
||||||
|
if (!dom->getAsset()->getContributor_array().get(0)->getAuthoring_tool())
|
||||||
|
{
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->createAndPlace("authoring_tool");
|
||||||
|
}
|
||||||
|
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->getAuthoring_tool()->setValue
|
||||||
|
#ifdef WIN32
|
||||||
|
("Bullet ColladaPhysicsViewer-Win32-0.5");
|
||||||
|
#else
|
||||||
|
#ifdef __APPLE__
|
||||||
|
("Bullet ColladaPhysicsViewer-MacOSX-0.5");
|
||||||
|
#else
|
||||||
|
("Bullet ColladaPhysicsViewer-UnknownPlatform-0.5");
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
if (!dom->getAsset()->getContributor_array().get(0)->getComments())
|
||||||
|
{
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->createAndPlace("comments");
|
||||||
|
}
|
||||||
|
dom->getAsset()->getContributor_array().get(0)->getComments()->setValue
|
||||||
|
("Comments to Physics Forum at http://www.continuousphysics.com/Bullet/phpBB2/index.php");
|
||||||
|
}
|
||||||
|
|
||||||
collada->saveAs(name);
|
collada->saveAs(name);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user