diff options
Diffstat (limited to 'src/mesh/assimp-master/port/dAssimp/assimp/camera.d')
-rw-r--r-- | src/mesh/assimp-master/port/dAssimp/assimp/camera.d | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/src/mesh/assimp-master/port/dAssimp/assimp/camera.d b/src/mesh/assimp-master/port/dAssimp/assimp/camera.d deleted file mode 100644 index 5567be2..0000000 --- a/src/mesh/assimp-master/port/dAssimp/assimp/camera.d +++ /dev/null @@ -1,182 +0,0 @@ -/* ---------------------------------------------------------------------------- -Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------------- - -Copyright (c) 2006-2020, ASSIMP Development Team - -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following -conditions are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - - * Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- -*/ - -/** - * Contains the data structure which is used to store the imported information - * about the virtual cameras in the scene. - */ -module assimp.camera; - -import assimp.math; -import assimp.types; - -extern ( C ) { - /** - * Helper structure to describe a virtual camera. - * - * Cameras have a representation in the node graph and can be animated. - * An important aspect is that the camera itself is also part of the - * scenegraph. This means, any values such as the look-at vector are not - * absolute, they're <em>relative</em> to the coordinate system defined - * by the node which corresponds to the camera. This allows for camera - * animations. Static cameras parameters like the look-at or up vectors are - * usually specified directly in the class members, but beware, they could - * also be encoded in the node transformation. The following (pseudo)code - * sample shows how to do it. - * - * Examples: - * --- - * // Get the camera matrix for a camera at a specific time - * // if the node hierarchy for the camera does not contain - * // at least one animated node this is a static computation - * get-camera-matrix (node sceneRoot, camera cam) : matrix - * { - * node cnd = find-node-for-camera(cam) - * matrix cmt = identity() - * - * // as usual - get the absolute camera transformation for this frame - * for each node nd in hierarchy from sceneRoot to cnd - * matrix cur - * if (is-animated(nd)) - * cur = eval-animation(nd) - * else cur = nd->mTransformation; - * cmt = mult-matrices( cmt, cur ) - * end for - * - * // now multiply with the camera's own local transform - * cam = mult-matrices (cam, get-camera-matrix(cmt) ) - * } - * --- - * - * Note: Some file formats (such as 3DS, ASE) export a "target point" – the - * point the camera is looking at (it can even be animated). Assimp - * writes the target point as a subnode of the camera's main node, called - * "<camName>.Target". However, this is just additional information; the - * transformation applied to the main camera node already makes the - * camera face the right direction. - */ - struct aiCamera { - /** - * The name of the camera. - * - * There must be a node in the scenegraph with the same name. This node - * specifies the position of the camera in the scene hierarchy and can - * be animated. - */ - aiString mName; - - - /** - * Position of the camera relative to the coordinate space defined by the - * corresponding node. - * - * The default value is 0|0|0. - */ - aiVector3D mPosition; - - /** - * Up vector of the camera coordinate system relative to the - * coordinate space defined by the corresponding node. - * - * The right vector of the camera coordinate system is the cross - * product of the up and lookAt vectors. - * - * The default value is 0|1|0. The vector may be normalized, but it - * needn't. - */ - aiVector3D mUp; - - /** - * Look-at vector of the camera coordinate system relative to the - * coordinate space defined by the corresponding node. - * - * This is the viewing direction of the user. - * - * The default value is 0|0|1. The vector may be normalized, but it - * needn't. - */ - aiVector3D mLookAt; - - - /** - * Half horizontal field of view angle, in radians. - * - * The field of view angle is the angle between the center line of the - * screen and the left or right border. - * - * The default value is PI/4. - */ - float mHorizontalFOV; - - /** - * Distance of the near clipping plane from the camera. - * - * The value may not be 0.f (for arithmetic reasons to prevent - * a division through zero). - * - * The default value is 0.1f. - */ - float mClipPlaneNear; - - /** - * Distance of the far clipping plane from the camera. - * - * The far clipping plane must, of course, be further away than the - * near clipping plane. The ratio between the near and the far plane - * should not be too large (between 1000-10000 should be ok) to avoid - * floating-point inaccuracies which could lead to z-fighting. - * - * The default value is 1000.f. - */ - float mClipPlaneFar; - - /** - * Screen aspect ratio. - * - * This is the ration between the width and the height of the - * screen. Typical values are 4/3, 1/2 or 1/1. This value is - * 0 if the aspect ratio is not defined in the source file. - * - * 0 is also the default value. - */ - float mAspect; - } -} |