// This source file is part of HGamer3D, a project to enable 3D game development // in Haskell. For the latest info, see http://www.hgamer3d.org . // // (c) 2011-2014 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. // // ClassCamera.h // #include "wchar.h" #ifndef _DEFINED_HG3D_ClassCamera #define _DEFINED_HG3D_ClassCamera #include "ClassPtr.h" #include "ClassSceneManager.h" #include "StructVec3.h" #include "StructRadians.h" #include "StructQuaternion.h" #include "ClassSceneNode.h" #include "ClassViewport.h" #include "ClassFrustum.h" #include "EnumFrustumPlane.h" // void ogre_cam_construct(char * name_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * result_c); // void ogre_cam_destruct(struct hg3dclass_struct * thisclass_c); // void ogre_cam_getSceneManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c); // void ogre_cam_setPosition(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c); // void ogre_cam_setPosition2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c); // void ogre_cam_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_move(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c); // void ogre_cam_moveRelative(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c); // void ogre_cam_setDirection(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c); // void ogre_cam_setDirection2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c); // void ogre_cam_getDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_lookAt(struct hg3dclass_struct * thisclass_c, struct vector3_struct * targetPoint_c); // void ogre_cam_lookAt2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c); // void ogre_cam_roll(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c); // void ogre_cam_yaw(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c); // void ogre_cam_pitch(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c); // void ogre_cam_rotate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * axis_c, struct radian_struct * angle_c); // void ogre_cam_rotate2(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c); // void ogre_cam_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c); // void ogre_cam_getOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c); // void ogre_cam_setOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c); // void ogre_cam_getDerivedOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c); // void ogre_cam_getDerivedPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getDerivedDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getDerivedUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getDerivedRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getRealOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c); // void ogre_cam_getRealPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getRealDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getRealUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getRealRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c); // void ogre_cam_setLodBias(struct hg3dclass_struct * thisclass_c, float factor_c); // void ogre_cam_getLodBias(struct hg3dclass_struct * thisclass_c, float * result_c); // void ogre_cam_setLodCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * lodCam_c); // void ogre_cam_getLodCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c); // void ogre_cam_setWindow(struct hg3dclass_struct * thisclass_c, float Left_c, float Top_c, float Right_c, float Bottom_c); // Cancel view window. void ogre_cam_resetWindow(struct hg3dclass_struct * thisclass_c); // Returns if a viewport window is being used. void ogre_cam_isWindowSet(struct hg3dclass_struct * thisclass_c, int * result_c); // void ogre_cam_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c); // void ogre_cam_getAutoTrackTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c); // void ogre_cam_getAutoTrackOffset(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c); // void ogre_cam_setAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int autoratio_c); // void ogre_cam_getAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int * result_c); // void ogre_cam_setCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * frustum_c); // void ogre_cam_getCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c); // void ogre_cam_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c); // void ogre_cam_getWorldSpaceCorners(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getNearClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c); // void ogre_cam_getFarClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c); // void ogre_cam_setUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int use_c); // void ogre_cam_getUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int * result_c); // void ogre_cam_synchroniseBaseSettingsWith(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c); // void ogre_cam_getPositionForViewUpdate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c); // void ogre_cam_getOrientationForViewUpdate(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c); // Sets whether to use min display size calculations void ogre_cam_setUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int enable_c); // void ogre_cam_getUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int * result_c); // void ogre_cam_getPixelDisplayRatio(struct hg3dclass_struct * thisclass_c, float * result_c); #endif