diff options
| author | hugues <hugues@0f7e0d06-a6f9-0310-a55f-d5f984f55e4c> | 2006-03-25 15:07:51 +0000 | 
|---|---|---|
| committer | Hugues Hiegel <hugues@hiegel.fr> | 2008-03-18 10:06:55 +0100 | 
| commit | 56cc59cf44ec64440ba4d1c0d005196195c758e6 (patch) | |
| tree | 0e4bc431438a05c2e32b8703a8c79dcbf26a7cbf /trunk/glagen/3d/frame.cc | |
| parent | d49be924baa2759aefa5b5311a35adf50db48e12 (diff) | |
git-svn-id: file:///usr/local/opt/svn/repos/glagen@12 0f7e0d06-a6f9-0310-a55f-d5f984f55e4c
Diffstat (limited to 'trunk/glagen/3d/frame.cc')
| -rw-r--r-- | trunk/glagen/3d/frame.cc | 152 | 
1 files changed, 0 insertions, 152 deletions
diff --git a/trunk/glagen/3d/frame.cc b/trunk/glagen/3d/frame.cc deleted file mode 100644 index 6f3aabd..0000000 --- a/trunk/glagen/3d/frame.cc +++ /dev/null @@ -1,152 +0,0 @@ -//============================================================================= -// -// Glagen : a planet sized landscape generator -// Copyright (C) 2002  Julien Guertault, Hugues Hiegel, Meng-Tih Lam -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. -// -//============================================================================= -// -// Glagen : GPL LAndscape GENerator -// -// frame.cc for Glagen : made by Zavie (Julien Guertault) -// -// www.glagen.org -// -//============================================================================= - -#include	"data_glagen.hh" -#include	"frame.hh" -#include	"matrix3d.hh" -#include	"vector.hh" - -// ================================================ Constructors and destructor - -Frame :: Frame () -{ -  _origin[0] = 0; -  _origin[1] = 0; -  _origin[2] = 0; -  _basis[0] = Vector(1, 0, 0); -  _basis[1] = Vector(0, 1, 0); -  _basis[2] = Vector(0, 0, 1); -} - -Frame :: Frame (float origin[3]) -{ -  _origin[0] = origin[0]; -  _origin[1] = origin[1]; -  _origin[2] = origin[2]; -  _basis[0] = Vector(1, 0, 0); -  _basis[1] = Vector(0, 1, 0); -  _basis[2] = Vector(0, 0, 1); -} - -Frame :: Frame (float origin[3], Vector basis[3]) -{ -  _origin[0] = origin[0]; -  _origin[1] = origin[1]; -  _origin[2] = origin[2]; -  _basis[0] = Vector(basis[0]); -  _basis[1] = Vector(basis[1]); -  _basis[2] = Vector(basis[2]); -} - -Frame :: ~Frame () {} - -// ==================================================================== Reading - -float		Frame :: Origin_X () const	{ return _origin[0]; } -float		Frame :: Origin_Y () const	{ return _origin[1]; } -float		Frame :: Origin_Z () const	{ return _origin[2]; } -Vector		Frame :: Basis_X () const	{ return _basis[0]; } -Vector		Frame :: Basis_Y () const	{ return _basis[1]; } -Vector		Frame :: Basis_Z () const	{ return _basis[2]; } - -Vector		Frame :: View ()		{ return Vector (_basis[2]); } - -Matrix44	Frame :: GetMatrix () -{ -  int		x; -  float		basis_matrix[3][3]; - -  for (x = 0; x < 3; x++) -    { -      basis_matrix[x][0] = _basis[x].X (); -      basis_matrix[x][1] = _basis[x].Y (); -      basis_matrix[x][2] = _basis[x].Z (); -    } -  Matrix44 rot_matrix(basis_matrix); -  Matrix44 trans_matrix(_origin); -  return Matrix44 (trans_matrix * rot_matrix); -} - -Matrix44	Frame :: GetCamMatrix () -{ -  int		x; -  float		basis_matrix[3][3]; - -  for (x = 0; x < 3; x++) -    { -      basis_matrix[x][0] = _basis[x].X (); -      basis_matrix[x][1] = _basis[x].Y (); -      basis_matrix[x][2] = _basis[x].Z (); -    } -  Matrix44 rot_matrix(basis_matrix); -  Matrix44 trans_matrix(_origin); -  return Matrix44 (rot_matrix * trans_matrix); -} - -// ==================================================================== Writing - -void		Frame :: Reset_origin () -{ -  _origin[0] = 0; -  _origin[1] = 0; -  _origin[2] = 0; -} - -void		Frame :: Reset_basis () -{ -  _basis[0].Set (1, 0, 0) ; -  _basis[1].Set (0, 1, 0) ; -  _basis[2].Set (0, 0, 1) ; -} - -void		Frame :: Set_origin (const float origin[3]) -{ -  _origin[0] = origin[0]; -  _origin[1] = origin[1]; -  _origin[2] = origin[2]; -} - -void		Frame :: Translate (const Vector v) -{ -  _origin[0] = _origin[0] + v.X (); -  _origin[1] = _origin[1] + v.Y (); -  _origin[2] = _origin[2] + v.Z (); -} - -void		Frame :: Rotate (const float angle, const Vector v) -{ -  Matrix33	rot (angle, v); - -  _basis[0] = rot * _basis[0]; -  _basis[1] = rot * _basis[1]; -  _basis[2] = rot * _basis[2]; -  _basis[0].Normalize (); -  _basis[1].Normalize (); -  _basis[2].Normalize (); -}  | 
