void LightSceneNode_SetLight(IntPtr light, M_SCOLORF ambient, M_SCOLORF diffuse, M_SCOLORF specular, M_VECT3DF pos, M_VECT3DF dir, M_VECT3DF attenuation, float falloff, float innercone, float outercone, float radius, bool castshadows, E_LIGHT_TYPE type) { SLight slight = ((ILightSceneNode*)light)->getLightData(); slight.AmbientColor = MU_SCOLORF(ambient); slight.DiffuseColor = MU_SCOLORF(diffuse); slight.SpecularColor = MU_SCOLORF(specular); slight.Position = MU_VECT3DF(pos); slight.Direction = MU_VECT3DF(dir); slight.Attenuation = MU_VECT3DF (attenuation); slight.Falloff = falloff; slight.InnerCone = innercone; slight.OuterCone = outercone; slight.Radius = radius; slight.CastShadows = castshadows; slight.Type = type; ((ILightSceneNode*)light)->getLightData() = slight; }
void MeshManipulator_ScaleMesh(IntPtr mm, IntPtr mesh, M_VECT3DF scale) { GetMMForIntPtr(mm)->scaleMesh((IMesh*)mesh, MU_VECT3DF(scale)); }
IntPtr SceneManager_AddTerrainSceneNode(IntPtr scenemanager, M_STRING heightMap, IntPtr parent, int id, M_VECT3DF position, M_VECT3DF rotation, M_VECT3DF scale, M_SCOLOR vertexColor,int maxLOD, E_TERRAIN_PATCH_SIZE patchSize) { return GetSceneFromIntPtr(scenemanager)->addTerrainSceneNode(heightMap, (ISceneNode*)parent, id, MU_VECT3DF(position), MU_VECT3DF(rotation), MU_VECT3DF(scale), MU_SCOLOR(vertexColor), maxLOD, patchSize); }
IntPtr SceneManager_AddLightSceneNode(IntPtr scenemanager, IntPtr parent, M_VECT3DF position, M_SCOLORF color, float radius, int id) { return GetSceneFromIntPtr(scenemanager)->addLightSceneNode((ISceneNode*) parent, MU_VECT3DF(position), MU_SCOLORF(color), radius, id); }
void SceneCollisionManager_GetScreenCoordinatesFrom3DPosition(IntPtr SCM, M_VECT3DF pos, IntPtr camera, M_POS2DS sc) { UM_POS2DS(((ISceneCollisionManager*)SCM)->getScreenCoordinatesFrom3DPosition(MU_VECT3DF(pos), (ICameraSceneNode*)camera), sc); }
void SceneNode_SetRotation(IntPtr scenenode, M_VECT3DF rot) { GetSceneNodeFromIntPtr(scenenode)->setRotation(MU_VECT3DF(rot)); }
IntPtr Particle_CreatePointEmitter(IntPtr part, M_VECT3DF dir, unsigned int minPPS, unsigned int maxPPS, M_SCOLOR minSC, M_SCOLOR maxSC, unsigned int minLT, unsigned int maxLT, int maxAngleDegrees) { return GetPSSFromIntPtr(part)->createPointEmitter(MU_VECT3DF(dir), minPPS, maxPPS, MU_SCOLOR(minSC), MU_SCOLOR(maxSC), minLT, maxLT, maxAngleDegrees); }
IntPtr Particle_CreateBoxEmitter(IntPtr part,M_BOX3D box, M_VECT3DF direction, unsigned int minPPS, unsigned int maxPPS, M_SCOLOR minSC, M_SCOLOR maxSC, unsigned int minLT, unsigned int maxLT, int maxAngleDegrees) { return GetPSSFromIntPtr(part)->createBoxEmitter(MU_BOX3D(box), MU_VECT3DF(direction), minPPS, maxPPS, MU_SCOLOR(minSC), MU_SCOLOR(maxSC), minLT, maxLT, maxAngleDegrees); }
IntPtr SceneManager_CreateFlyCircleAnimator(IntPtr scenemanager, M_VECT3DF center, float radius, float speed) { return GetSceneFromIntPtr(scenemanager)->createFlyCircleAnimator(MU_VECT3DF(center), radius, speed); }
IntPtr SceneManager_CreateCollisionResponseAnimator(IntPtr scenemanager, IntPtr world, IntPtr sceneNode,M_VECT3DF ellipsoidRadius, M_VECT3DF gravityPerSecond,M_VECT3DF ellipsoidTranslation, float slidingValue) { return GetSceneFromIntPtr(scenemanager)->createCollisionResponseAnimator((ITriangleSelector*) world, (ISceneNode*) sceneNode, MU_VECT3DF(ellipsoidRadius), MU_VECT3DF(gravityPerSecond), MU_VECT3DF(ellipsoidTranslation), slidingValue); }
void Camera_SetUpVector(IntPtr camera, M_VECT3DF upvector) { GetCameraFromIntPtr(camera)->setUpVector(MU_VECT3DF(upvector)); }
void Camera_SetTarget(IntPtr camera, M_VECT3DF target) { GetCameraFromIntPtr(camera)->setTarget(MU_VECT3DF(target)); }
void VideoDriver_Draw3DLine(IntPtr videodriver, M_VECT3DF start, M_VECT3DF end, M_SCOLOR color) { GetVideoFromIntPtr(videodriver)->draw3DLine(MU_VECT3DF(start), MU_VECT3DF(end), MU_SCOLOR(color)); }
void SceneNode_SetScale(IntPtr scenenode, M_VECT3DF scale) { GetSceneNodeFromIntPtr(scenenode)->setScale(MU_VECT3DF(scale)); }
void SParticle_SetPos(IntPtr particle, M_VECT3DF vect) { SParticle *part = ((SParticle*)particle); part->pos = MU_VECT3DF(vect); }
IntPtr SceneManager_CreateFlyStraightAnimator(IntPtr scenemanager, M_VECT3DF startPoint, M_VECT3DF endPoint, unsigned int time, bool loop) { return GetSceneFromIntPtr(scenemanager)->createFlyStraightAnimator(MU_VECT3DF(startPoint), MU_VECT3DF(endPoint), time, loop); }
void SParticle_SetStartVect(IntPtr particle, M_VECT3DF vect) { SParticle *part = ((SParticle*)particle); part->startVector = MU_VECT3DF(vect); }
IntPtr SceneManager_CreateRotationAnimator(IntPtr scenemanager, M_VECT3DF rotation) { return GetSceneFromIntPtr(scenemanager)->createRotationAnimator(MU_VECT3DF(rotation)); }
IntPtr Particle_CreateGravityAffector(IntPtr part, M_VECT3DF gravity, unsigned int timeForceLost) { return GetPSSFromIntPtr(part)->createGravityAffector(MU_VECT3DF(gravity), timeForceLost); }
void SceneCollisionManager_GetCollisionResultPoint(IntPtr SCM, IntPtr selector, M_VECT3DF ellipsoidPosition, M_VECT3DF ellipsoidRadius, M_VECT3DF ellipsoidDirectionAndSpeed, M_TRIANGLE3DF outTriangle, bool *outFalling, float slidingSpeed, M_VECT3DF gravity, M_VECT3DF outCol) { irr::core::triangle3df outtri; UM_VECT3DF(((ISceneCollisionManager*)SCM)->getCollisionResultPosition((ITriangleSelector*)selector, MU_VECT3DF(ellipsoidPosition), MU_VECT3DF(ellipsoidRadius), MU_VECT3DF(ellipsoidDirectionAndSpeed), outtri, *outFalling, slidingSpeed, MU_VECT3DF(gravity)), outCol); }
IntPtr SceneManager_AddTextSceneNode2W(IntPtr scenemanager, IntPtr font, wchar_t* text, IntPtr parent, M_DIM2DF size, M_VECT3DF pos, int ID, M_SCOLOR shade_top, M_SCOLOR shade_down) { if (((IGUIFont*)font)->getType() == EGFT_BITMAP) { return GetSceneFromIntPtr(scenemanager)->addBillboardTextSceneNode((IGUIFont *)font, (text), (ISceneNode *)parent, MU_DIM2DF(size), MU_VECT3DF(pos), ID, MU_SCOLOR(shade_top), MU_SCOLOR(shade_down)); } else { return ((CGUITTFont*)font)->createBillboard((text), MU_DIM2DF(size), (ISceneManager*)scenemanager, (ISceneNode*)parent, ID ); } }
void SceneNode_SetPosition(IntPtr scenenode, M_VECT3DF pos) { GetSceneNodeFromIntPtr(scenenode)->setPosition(MU_VECT3DF(pos)); }