// This source file is part of HGamer3D
// (A project to enable 3D game development in Haskell)
// For the latest info, see http://www.althainz.de/HGamer3D.html
//
// Copyright 2011 Dr. Peter Althainz
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ClassFrustum.h
//
//
//
//
// File for type, method, enum or function stubs
// in: "..\OgreSDK_vc10_v1-7-4\include\OGRE\OgreFrustum.h"
//
// each stub combines the following files:
// a C++ implementation file, transforming cpp calls into C-functions
// a C-header file, making this C-functions available for the C2HS parser
// a chs file, give instructions to the C2HS parser.
//
//
#include "wchar.h"
#include "ClassPtr.h"
#include "Utils.h"
#include "TypeRadian.h"
#include "TypeVector2.h"
#include "TypeVector3.h"
#include "EnumFrustumPlane.h"
#include "TypeSharedPtr.h"
#include "EnumProjectionType.h"
#include "TypeQuaternion.h"
#include "EnumOrientationMode.h"
// original function: void setFOVy(const Radian& fovy);
void cF_setFOVy_c(struct hg3dclass_struct *classptr_c, struct radian_struct * fovy_c);
// original function: const Radian& getFOVy();
void cF_getFOVy_c(struct hg3dclass_struct *classptr_c, struct radian_struct * result_c);
// original function: void setNearClipDistance(Real nearDist);
void cF_setNearClipDistance_c(struct hg3dclass_struct *classptr_c, float nearDist_c);
// original function: Real getNearClipDistance();
void cF_getNearClipDistance_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void setFarClipDistance(Real farDist);
void cF_setFarClipDistance_c(struct hg3dclass_struct *classptr_c, float farDist_c);
// original function: Real getFarClipDistance();
void cF_getFarClipDistance_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void setAspectRatio(Real ratio);
void cF_setAspectRatio_c(struct hg3dclass_struct *classptr_c, float ratio_c);
// original function: Real getAspectRatio();
void cF_getAspectRatio_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void setFrustumOffset(const Vector2& offset);
void cF_setFrustumOffset_c(struct hg3dclass_struct *classptr_c, struct vector2_struct * offset_c);
// original function: void setFrustumOffset(Real horizontal, Real vertical);
void cF_setFrustumOffset2_c(struct hg3dclass_struct *classptr_c, float horizontal_c, float vertical_c);
// original function: const Vector2& getFrustumOffset();
void cF_getFrustumOffset_c(struct hg3dclass_struct *classptr_c, struct vector2_struct * result_c);
// original function: void setFocalLength(Real focalLength);
void cF_setFocalLength_c(struct hg3dclass_struct *classptr_c, float focalLength_c);
// original function: Real getFocalLength();
void cF_getFocalLength_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void setFrustumExtents(Real left, Real right, Real top, Real bottom);
void cF_setFrustumExtents_c(struct hg3dclass_struct *classptr_c, float left_c, float right_c, float top_c, float bottom_c);
// original function: void resetFrustumExtents();
void cF_resetFrustumExtents_c(struct hg3dclass_struct *classptr_c);
// original function: bool isCustomViewMatrixEnabled();
void cF_isCustomViewMatrixEnabled_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: bool isCustomProjectionMatrixEnabled();
void cF_isCustomProjectionMatrixEnabled_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: bool isVisible(const Vector3& vert, FrustumPlane* culledBy);
void cF_isVisible3_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c);
// original function: uint32 getTypeFlags();
void cF_getTypeFlags_c(struct hg3dclass_struct *classptr_c, unsigned int * result_c);
// original function: Real getBoundingRadius();
void cF_getBoundingRadius_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: const String& getMovableType();
void cF_getMovableType_c(struct hg3dclass_struct *classptr_c, char * result_c);
// original function: void _notifyCurrentCamera(Camera* cam);
void cF__notifyCurrentCamera_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * cam_c);
// original function: const MaterialPtr& getMaterial();
void cF_getMaterial_c(struct hg3dclass_struct *classptr_c, struct sharedptr_struct * result_c);
// original function: void setProjectionType(ProjectionType pt);
void cF_setProjectionType_c(struct hg3dclass_struct *classptr_c, enum EnumProjectionType pt_c);
// original function: ProjectionType getProjectionType();
void cF_getProjectionType_c(struct hg3dclass_struct *classptr_c, enum EnumProjectionType * result_c);
// original function: void setOrthoWindow(Real w, Real h);
void cF_setOrthoWindow_c(struct hg3dclass_struct *classptr_c, float w_c, float h_c);
// original function: void setOrthoWindowHeight(Real h);
void cF_setOrthoWindowHeight_c(struct hg3dclass_struct *classptr_c, float h_c);
// original function: void setOrthoWindowWidth(Real w);
void cF_setOrthoWindowWidth_c(struct hg3dclass_struct *classptr_c, float w_c);
// original function: Real getOrthoWindowHeight();
void cF_getOrthoWindowHeight_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: Real getOrthoWindowWidth();
void cF_getOrthoWindowWidth_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void disableReflection();
void cF_disableReflection_c(struct hg3dclass_struct *classptr_c);
// original function: bool isReflected();
void cF_isReflected_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void disableCustomNearClipPlane();
void cF_disableCustomNearClipPlane_c(struct hg3dclass_struct *classptr_c);
// original function: bool isCustomNearClipPlaneEnabled();
void cF_isCustomNearClipPlaneEnabled_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: const Vector3& getPositionForViewUpdate();
void cF_getPositionForViewUpdate_c(struct hg3dclass_struct *classptr_c, struct vector3_struct * result_c);
// original function: const Quaternion& getOrientationForViewUpdate();
void cF_getOrientationForViewUpdate_c(struct hg3dclass_struct *classptr_c, struct quaternion_struct * result_c);
// original function: void setOrientationMode(OrientationMode orientationMode);
void cF_setOrientationMode_c(struct hg3dclass_struct *classptr_c, enum EnumOrientationMode orientationMode_c);
// original function: OrientationMode getOrientationMode();
void cF_getOrientationMode_c(struct hg3dclass_struct *classptr_c, enum EnumOrientationMode * result_c);