72 lines
2.0 KiB
C++
72 lines
2.0 KiB
C++
#include "IMeshManipulator.h"
|
|
#include "NativeConverter.h"
|
|
|
|
namespace Irrlicht
|
|
{
|
|
namespace Scene
|
|
{
|
|
|
|
IMeshManipulator::IMeshManipulator( irr::scene::IMeshManipulator* realManipulator )
|
|
: meshManipulator( realManipulator )
|
|
{
|
|
meshManipulator->grab();
|
|
}
|
|
|
|
IMeshManipulator::~IMeshManipulator()
|
|
{
|
|
meshManipulator->drop();
|
|
}
|
|
|
|
void IMeshManipulator::FlipSurfaces( Irrlicht::Scene::IMesh* mesh )
|
|
{
|
|
getMeshManipulator()->flipSurfaces( mesh->get_NativeMesh() );
|
|
}
|
|
|
|
void IMeshManipulator::SetVertexColorAlpha( Irrlicht::Scene::IMesh* mesh, int alpha )
|
|
{
|
|
getMeshManipulator()->setVertexColorAlpha( mesh->get_NativeMesh(), alpha );
|
|
}
|
|
|
|
void IMeshManipulator::SetVertexColors( Irrlicht::Scene::IMesh* mesh, Irrlicht::Video::Color color )
|
|
{
|
|
getMeshManipulator()->setVertexColors( mesh->get_NativeMesh(), irr::NativeConverter::getNativeColor( color ) );
|
|
}
|
|
|
|
void IMeshManipulator::RecalculateNormals( Irrlicht::Scene::IMesh* mesh )
|
|
{
|
|
getMeshManipulator()->recalculateNormals( mesh->get_NativeMesh() );
|
|
}
|
|
|
|
void IMeshManipulator::ScaleMesh( Irrlicht::Scene::IMesh* mesh, Irrlicht::Core::Vector3D scale )
|
|
{
|
|
getMeshManipulator()->scaleMesh( mesh->get_NativeMesh(), irr::NativeConverter::getNativeVector( scale ) );
|
|
}
|
|
|
|
void IMeshManipulator::MakePlanarTextureMapping( Irrlicht::Scene::IMesh* mesh, float resolution )
|
|
{
|
|
getMeshManipulator()->makePlanarTextureMapping( mesh->get_NativeMesh(), resolution );
|
|
}
|
|
|
|
Irrlicht::Scene::IMesh* IMeshManipulator::CreateMeshWithTangents( Irrlicht::Scene::IMesh* mesh )
|
|
{
|
|
irr::scene::IMesh* real =
|
|
getMeshManipulator()->createMeshWithTangents( mesh->get_NativeMesh() );
|
|
|
|
if(!real)
|
|
return 0;
|
|
|
|
return new IMesh( real );
|
|
}
|
|
|
|
int IMeshManipulator::GetPolyCount( Irrlicht::Scene::IAnimatedMesh* mesh )
|
|
{
|
|
return getMeshManipulator()->getPolyCount( mesh->get_NativeAnimatedMesh() );
|
|
}
|
|
|
|
int IMeshManipulator::GetPolyCount( Irrlicht::Scene::IMesh* mesh )
|
|
{
|
|
return getMeshManipulator()->getPolyCount( mesh->get_NativeMesh() );
|
|
}
|
|
}
|
|
|
|
} |