using System;
using System.Collections.Generic;
using System.Text;

namespace IrrlichtNetSwig
{
    public partial class ITriangleSelector
    {
        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount, CMatrix4f transform)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount, transform);
        }

        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount);
        }

        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount, aabbox3df box, CMatrix4f transform)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount, box, transform);
        }

        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount, aabbox3df box)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount, box);
        }

        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount, line3df line, CMatrix4f transform)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount, line, transform);
        }

        public virtual void getTriangles(triangle3df[] triangles, int arraySize, ref int outTriangleCount, line3df line)
        {
            var arr = (triangle3dfArray)triangles;
            getTriangles(arr.cast(), arraySize, ref outTriangleCount, line);
        }


    }
}
