irrlicht/source/Irrlicht.NET/ICameraSceneNode.cpp

144 lines
3.6 KiB
C++

// Copyright (C) 2002-2006 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "ICameraSceneNode.h"
#include "NativeConverter.h"
namespace Irrlicht
{
namespace Scene
{
ICameraSceneNode::ICameraSceneNode(irr::scene::ICameraSceneNode* realSceneNode)
: ISceneNode(realSceneNode)
{
}
ICameraSceneNode::~ICameraSceneNode()
{
}
void ICameraSceneNode::set_ProjectionMatrix(Core::Matrix4 projection)
{
get_NativeCameraSceneNode()->setProjectionMatrix(
irr::NativeConverter::getNativeMatrix(projection));
}
Core::Matrix4 ICameraSceneNode::get_ProjectionMatrix()
{
return irr::NativeConverter::getNETMatrix(
get_NativeCameraSceneNode()->getProjectionMatrix());
}
Core::Matrix4 ICameraSceneNode::get_ViewMatrix()
{
return irr::NativeConverter::getNETMatrix(
get_NativeCameraSceneNode()->getViewMatrix());
}
bool ICameraSceneNode::OnEvent(Event event)
{
return get_NativeCameraSceneNode()->OnEvent(irr::NativeConverter::getNativeEvent(event));
}
void ICameraSceneNode::set_Target(Core::Vector3D pos)
{
get_NativeCameraSceneNode()->setTarget(irr::NativeConverter::getNativeVector(pos));
}
Core::Vector3D ICameraSceneNode::get_Target()
{
return irr::NativeConverter::getNETVector(get_NativeCameraSceneNode()->getTarget());
}
void ICameraSceneNode::set_UpVector(Core::Vector3D pos)
{
get_NativeCameraSceneNode()->setUpVector(irr::NativeConverter::getNativeVector(pos));
}
Core::Vector3D ICameraSceneNode::get_UpVector()
{
return irr::NativeConverter::getNETVector(get_NativeCameraSceneNode()->getUpVector());
}
float ICameraSceneNode::get_NearValue()
{
return get_NativeCameraSceneNode()->getNearValue();
}
void ICameraSceneNode::set_NearValue(float value)
{
get_NativeCameraSceneNode()->setNearValue(value);
}
float ICameraSceneNode::get_FarValue()
{
return get_NativeCameraSceneNode()->getFarValue();
}
void ICameraSceneNode::set_FarValue(float value)
{
get_NativeCameraSceneNode()->setFarValue(value);
}
float ICameraSceneNode::get_AspectRatio()
{
return get_NativeCameraSceneNode()->getFarValue();
}
void ICameraSceneNode::set_AspectRatio(float f)
{
get_NativeCameraSceneNode()->setAspectRatio(f);
}
float ICameraSceneNode::get_FOV()
{
return get_NativeCameraSceneNode()->getFOV();
}
void ICameraSceneNode::set_FOV(float value)
{
get_NativeCameraSceneNode()->setFOV(value);
}
ViewFrustum ICameraSceneNode::get_ViewFrustum()
{
return irr::NativeConverter::getNETFrustum(
*get_NativeCameraSceneNode()->getViewFrustum());
}
void ICameraSceneNode::set_InputReceiverEnabled(bool enabled)
{
get_NativeCameraSceneNode()->setInputReceiverEnabled(enabled);
}
bool ICameraSceneNode::get_InputReceiverEnabled()
{
return get_NativeCameraSceneNode()->isInputReceiverEnabled();
}
ViewFrustum::ViewFrustum( const irr::scene::SViewFrustum& orig )
{
CameraPosition = irr::NativeConverter::getNETVector( orig.cameraPosition );
Planes = __gc new Irrlicht::Core::Plane3D[6];
for ( int i=0; i<6; ++i )
{
//Planes[i] = __gc new Irrlicht::Core::Plane3D();
Planes[i].Normal = irr::NativeConverter::getNETVector( orig.planes[i].Normal );
Planes[i].D = orig.planes[i].D;
}
}
void ICameraSceneNode::set_IsOrthogonal(bool enabled)
{
get_NativeCameraSceneNode()->setIsOrthogonal(enabled);
}
bool ICameraSceneNode::get_IsOrthogonal()
{
return get_NativeCameraSceneNode()->isOrthogonal();
}
}
}