Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:05:30

0001 // Created on: 1992-11-13
0002 // Created by: GG
0003 // Copyright (c) 1992-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _V3d_TypeOfOrientation_HeaderFile
0018 #define _V3d_TypeOfOrientation_HeaderFile
0019 
0020 //! Determines the type of orientation as a combination of standard DX/DY/DZ directions.
0021 //! This enumeration defines a model orientation looking towards the user's eye, which is an opposition to Camera main direction.
0022 //! For example, V3d_Xneg defines +X Camera main direction.
0023 //!
0024 //! This enumeration defines only main Camera direction, so that the Camera up direction should be defined elsewhere for unambiguous Camera definition.
0025 //! Open CASCADE does not force application using specific coordinate system, although Draw Harness and samples define +Z-up +Y-forward coordinate system for camera view manipulation.
0026 //! Therefore, this enumeration also defines V3d_TypeOfOrientation_Zup_* aliases defining front/back/left/top camera orientations for +Z-up convention
0027 //! as well as V3d_TypeOfOrientation_Yup_* aliases for another commonly used in other systems +Y-up convention.
0028 //! Applications using other coordinate system can define their own enumeration, when found suitable.
0029 enum V3d_TypeOfOrientation
0030 {
0031   V3d_Xpos, //!< (+Y+Z) view
0032   V3d_Ypos, //!< (-X+Z) view
0033   V3d_Zpos, //!< (+X+Y) view
0034   V3d_Xneg, //!< (-Y+Z) view
0035   V3d_Yneg, //!< (+X+Z) view
0036   V3d_Zneg, //!< (+X-Y) view
0037 
0038   V3d_XposYpos,
0039   V3d_XposZpos,
0040   V3d_YposZpos,
0041   V3d_XnegYneg,
0042   V3d_XnegYpos,
0043   V3d_XnegZneg,
0044   V3d_XnegZpos,
0045   V3d_YnegZneg,
0046   V3d_YnegZpos,
0047   V3d_XposYneg,
0048   V3d_XposZneg,
0049   V3d_YposZneg,
0050   V3d_XposYposZpos,
0051   V3d_XposYnegZpos,
0052   V3d_XposYposZneg,
0053   V3d_XnegYposZpos,
0054   V3d_XposYnegZneg,
0055   V3d_XnegYposZneg,
0056   V3d_XnegYnegZpos,
0057   V3d_XnegYnegZneg,
0058 
0059   // +Z-up +Y-forward convention
0060   V3d_TypeOfOrientation_Zup_AxoLeft  = V3d_XnegYnegZpos,  //!< +Z-up +Y-forward Left +Front+Top
0061   V3d_TypeOfOrientation_Zup_AxoRight = V3d_XposYnegZpos,  //!< +Z-up +Y-forward Right+Front+Top
0062   V3d_TypeOfOrientation_Zup_Front    = V3d_Yneg,          //!< +Z-up +Y-forward Front  (+X+Z) view
0063   V3d_TypeOfOrientation_Zup_Back     = V3d_Ypos,          //!< +Z-up +Y-forward Back   (-X+Z) view
0064   V3d_TypeOfOrientation_Zup_Top      = V3d_Zpos,          //!< +Z-up +Y-forward Top    (+X+Y) view
0065   V3d_TypeOfOrientation_Zup_Bottom   = V3d_Zneg,          //!< +Z-up +Y-forward Bottom (+X-Y) view
0066   V3d_TypeOfOrientation_Zup_Left     = V3d_Xneg,          //!< +Z-up +Y-forward Left   (-Y+Z) view
0067   V3d_TypeOfOrientation_Zup_Right    = V3d_Xpos,          //!< +Z-up +Y-forward Right  (+Y+Z) view
0068 
0069   // +Y-up -Z-forward convention
0070   V3d_TypeOfOrientation_Yup_AxoLeft  = V3d_XnegYposZpos,  //!< +Y-up -Z-forward Left +Front+Top
0071   V3d_TypeOfOrientation_Yup_AxoRight = V3d_XposYposZpos,  //!< +Y-up -Z-forward Right+Front+Top
0072   V3d_TypeOfOrientation_Yup_Front    = V3d_Zpos,          //!< +Y-up -Z-forward Front  (+X+Y) view
0073   V3d_TypeOfOrientation_Yup_Back     = V3d_Zneg,          //!< +Y-up -Z-forward Back   (-X+Y) view
0074   V3d_TypeOfOrientation_Yup_Top      = V3d_Ypos,          //!< +Y-up -Z-forward Top    (+X-Z) view
0075   V3d_TypeOfOrientation_Yup_Bottom   = V3d_Yneg,          //!< +Y-up -Z-forward Bottom (-X-Z) view
0076   V3d_TypeOfOrientation_Yup_Left     = V3d_Xpos,          //!< +Y-up -Z-forward Left   (-Z+Y) view
0077   V3d_TypeOfOrientation_Yup_Right    = V3d_Xneg,          //!< +Y-up -Z-forward Right  (+Z+Y) view
0078 };
0079 
0080 #endif // _V3d_TypeOfOrientation_HeaderFile