diff options
author | click <none@none> | 2010-06-05 00:59:25 +0200 |
---|---|---|
committer | click <none@none> | 2010-06-05 00:59:25 +0200 |
commit | e77716188861d4aa83b227a90e04a66b63baeb1f (patch) | |
tree | ce72764181a760314ec851f7535052dcf75649db /dep/src/g3dlite/Rect2D.cpp | |
parent | 1426c2970f42a2d065198806f750bf5dd28d580b (diff) |
HIGHLY EXPERIMENTAL - USE AT YOUR OWN RISK
Implement the use of the new vmap3-format by Lynx3d (mad props to you for this, and thanks for the talks earlier)
+ reduced Vmap size to less than one third, and improve precision
+ indoor/outdoor check which allows automatic unmounting of players
+ additional area information from WMOAreaTable.dbc, removed existing "hacks"
+ WMO liquid information for swimming and fishing correctly in buildings/cities/caves/instances (lava and slime WILL hurt from now on!)
- buildfiles for windows are not properly done, and will need to be sorted out
NOTE: Do NOT annoy Lynx3d about this, any issues with this "port" is entirely our fault !
THIS REVISION IS CONSIDERED UNSTABLE AND CONTAINS WORK IN PROGRESS - USE AT YOUR OWN RISK!
--HG--
branch : trunk
Diffstat (limited to 'dep/src/g3dlite/Rect2D.cpp')
-rw-r--r-- | dep/src/g3dlite/Rect2D.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dep/src/g3dlite/Rect2D.cpp b/dep/src/g3dlite/Rect2D.cpp new file mode 100644 index 00000000000..e4148315a58 --- /dev/null +++ b/dep/src/g3dlite/Rect2D.cpp @@ -0,0 +1,41 @@ +/** + @file Rect2D.cpp + + @maintainer Morgan McGuire, http://graphics.cs.williams.edu + + @created 2003-11-13 + @created 2009-11-16 + + Copyright 2000-2009, Morgan McGuire. + All rights reserved. + */ + +#include "G3D/platform.h" +#include "G3D/Rect2D.h" +#include "G3D/Any.h" +#include "G3D/stringutils.h" + +namespace G3D { + +/** \param any Must either Rect2D::xywh(#, #, #, #) or Rect2D::xyxy(#, #, #, #)*/ +Rect2D::Rect2D(const Any& any) { + any.verifyName("Rect2D"); + any.verifyType(Any::ARRAY); + any.verifySize(4); + if (toUpper(any.name()) == "RECT2D::XYWH") { + *this = Rect2D::xywh(any[0], any[1], any[2], any[3]); + } else { + any.verifyName("Rect2D::xyxy"); + *this = Rect2D::xyxy(any[0], any[1], any[2], any[3]); + } +} + + +/** Converts the Rect2D to an Any. */ +Rect2D::operator Any() const { + Any any(Any::ARRAY, "Rect2D::xywh"); + any.append(x0(), y0(), width(), height()); + return any; +} + +} |