00001 /*************************************************************************** 00002 line.h - 3D line primitive 00003 ------------------- 00004 begin : Wed Sep 18 2002 00005 copyright : (C) 2002 by Reality Rift studios 00006 email : mattias@realityrift.com 00007 *************************************************************************** 00008 00009 The contents of this file are subject to the Mozilla Public License Version 00010 1.1 (the "License"); you may not use this file except in compliance with 00011 the License. You may obtain a copy of the License at 00012 http://www.mozilla.org/MPL/ 00013 00014 Software distributed under the License is distributed on an "AS IS" basis, 00015 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 00016 for the specific language governing rights and limitations under the 00017 License. 00018 00019 The Original Code is the NeoEngine, line.h 00020 00021 The Initial Developer of the Original Code is Mattias Jansson. 00022 Portions created by Mattias Jansson are Copyright (C) 2003 00023 Reality Rift Studios. All Rights Reserved. 00024 00025 ***************************************************************************/ 00026 00027 #ifndef __NELINE_H 00028 #define __NELINE_H 00029 00030 00031 #include "base.h" 00032 #include "nemath.h" 00033 00034 00035 00042 namespace NeoEngine 00043 { 00044 00045 00046 00053 class NEOENGINE_API Line 00054 { 00055 public: 00056 00058 Vector3d m_kOrigin; 00059 00061 Vector3d m_kDirection; 00062 00063 00068 Line( const Vector3d &rkOrigin, const Vector3d &rkDir ) : m_kOrigin( rkOrigin ), m_kDirection( rkDir ) {} 00069 00072 virtual ~Line() {} 00073 }; 00074 00075 00076 00083 class NEOENGINE_API Ray 00084 { 00085 public: 00086 00088 Vector3d m_kOrigin; 00089 00091 Vector3d m_kDirection; 00092 00093 00098 Ray( const Vector3d &rkOrigin, const Vector3d &rkDir ) : m_kOrigin( rkOrigin ), m_kDirection( rkDir ) {} 00099 00102 virtual ~Ray() {} 00103 }; 00104 00105 00106 }; // namespace NeoEngine 00107 00108 00109 #endif // __NELINE_H