// This method initializes the CObject object with the values, which were given in as parameters
bool CObject::init(CIrrlichtVar *ivIrrlicht, CList *lObjects, vector3df *vMotion, double dMass, double dGravitationRange)
{
if ( (!ivIrrlicht) || (!ivIrrlicht->device) || (!lObjects) || (!vMotion) )
return false;
this->ivIrrlicht = ivIrrlicht;
/////////////////////////////////////////////////
If I'm creating an local object, it will be displayed on screen
/////////////////////////////////////////////////
/*ISceneNode *snLocalNode = this->ivIrrlicht->smgr->addTestSceneNode();
snLocalNode->setPosition(vector3df( RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR, RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR, RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR));
snLocalNode->setMaterialTexture(0, this->ivIrrlicht->driver->getTexture("t351sml.jpg"));
/////////////////////////////////////////////////
But if I want to save it as an member attribute, or creating it in this, the ISceneNode ist calculated, but not displayed on screen
/////////////////////////////////////////////////
this->snNode = snLocalNode;
// Creating the SceneNode
this->snNode = this->ivIrrlicht->smgr->addTestSceneNode();
this->snNode->setPosition(vector3df( RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR, RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR, RANDOM_DOUBLE * RANDOM_DOUBLE * MULTI_FACTOR));
this->snNode->setMaterialTexture(0, this->ivIrrlicht->driver->getTexture("t351sml.jpg"));
// Testausgabe der Position
vector3df vPosition = this->snNode->getPosition();
printf("Position des neuen Objektes [%.1f,%.1f,%.1f]\n", vPosition.X, vPosition.Y, vPosition.Z);