diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-29 17:45:00 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-29 17:45:00 +0100 |
commit | d023589a192004ac20c18c40a73db1142364cde1 (patch) | |
tree | 478fdcf305ea0bcf129fedd4b00f5d23b195dfd7 | |
parent | BlockArea: Finished rotation and mirroring with meta. Implemented example meta handling for vines, stairs and torches. (diff) | |
download | cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar.gz cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar.bz2 cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar.lz cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar.xz cuberite-d023589a192004ac20c18c40a73db1142364cde1.tar.zst cuberite-d023589a192004ac20c18c40a73db1142364cde1.zip |
-rw-r--r-- | source/Bindings.cpp | 247 | ||||
-rw-r--r-- | source/Bindings.h | 2 | ||||
-rw-r--r-- | source/Cuboid.cpp | 15 | ||||
-rw-r--r-- | source/Cuboid.h | 81 |
4 files changed, 232 insertions, 113 deletions
diff --git a/source/Bindings.cpp b/source/Bindings.cpp index b3efb335d..f21cccee9 100644 --- a/source/Bindings.cpp +++ b/source/Bindings.cpp @@ -1,6 +1,6 @@ /* ** Lua binding: AllToLua -** Generated automatically by tolua++-1.0.92 on 03/24/13 22:28:30. +** Generated automatically by tolua++-1.0.92 on 03/29/13 17:37:21. */ #ifndef __cplusplus @@ -17185,6 +17185,66 @@ static int tolua_set_Vector3i_z(lua_State* tolua_S) } #endif //#ifndef TOLUA_DISABLE +/* get function: p1 of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_get_cCuboid_p1 +static int tolua_get_cCuboid_p1(lua_State* tolua_S) +{ + cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p1'",NULL); +#endif + tolua_pushusertype(tolua_S,(void*)&self->p1,"Vector3i"); + return 1; +} +#endif //#ifndef TOLUA_DISABLE + +/* set function: p1 of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_set_cCuboid_p1 +static int tolua_set_cCuboid_p1(lua_State* tolua_S) +{ + cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + tolua_Error tolua_err; + if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p1'",NULL); + if ((tolua_isvaluenil(tolua_S,2,&tolua_err) || !tolua_isusertype(tolua_S,2,"Vector3i",0,&tolua_err))) + tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err); +#endif + self->p1 = *((Vector3i*) tolua_tousertype(tolua_S,2,0)) +; + return 0; +} +#endif //#ifndef TOLUA_DISABLE + +/* get function: p2 of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_get_cCuboid_p2 +static int tolua_get_cCuboid_p2(lua_State* tolua_S) +{ + cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p2'",NULL); +#endif + tolua_pushusertype(tolua_S,(void*)&self->p2,"Vector3i"); + return 1; +} +#endif //#ifndef TOLUA_DISABLE + +/* set function: p2 of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_set_cCuboid_p2 +static int tolua_set_cCuboid_p2(lua_State* tolua_S) +{ + cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + tolua_Error tolua_err; + if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p2'",NULL); + if ((tolua_isvaluenil(tolua_S,2,&tolua_err) || !tolua_isusertype(tolua_S,2,"Vector3i",0,&tolua_err))) + tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err); +#endif + self->p2 = *((Vector3i*) tolua_tousertype(tolua_S,2,0)) +; + return 0; +} +#endif //#ifndef TOLUA_DISABLE + /* method: new of class cCuboid */ #ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_new00 static int tolua_AllToLua_cCuboid_new00(lua_State* tolua_S) @@ -17348,92 +17408,128 @@ tolua_lerror: } #endif //#ifndef TOLUA_DISABLE -/* get function: p1 of class cCuboid */ -#ifndef TOLUA_DISABLE_tolua_get_cCuboid_p1 -static int tolua_get_cCuboid_p1(lua_State* tolua_S) +/* method: Sort of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_Sort00 +static int tolua_AllToLua_cCuboid_Sort00(lua_State* tolua_S) { - cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p1'",NULL); + tolua_Error tolua_err; + if ( + !tolua_isusertype(tolua_S,1,"cCuboid",0,&tolua_err) || + !tolua_isnoobj(tolua_S,2,&tolua_err) + ) + goto tolua_lerror; + else #endif - tolua_pushusertype(tolua_S,(void*)&self->p1,"Vector3i"); - return 1; -} -#endif //#ifndef TOLUA_DISABLE - -/* set function: p1 of class cCuboid */ -#ifndef TOLUA_DISABLE_tolua_set_cCuboid_p1 -static int tolua_set_cCuboid_p1(lua_State* tolua_S) -{ + { cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - tolua_Error tolua_err; - if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p1'",NULL); - if ((tolua_isvaluenil(tolua_S,2,&tolua_err) || !tolua_isusertype(tolua_S,2,"Vector3i",0,&tolua_err))) - tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'Sort'", NULL); #endif - self->p1 = *((Vector3i*) tolua_tousertype(tolua_S,2,0)) -; + { + self->Sort(); + } + } + return 0; +#ifndef TOLUA_RELEASE + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'Sort'.",&tolua_err); return 0; +#endif } #endif //#ifndef TOLUA_DISABLE -/* get function: p2 of class cCuboid */ -#ifndef TOLUA_DISABLE_tolua_get_cCuboid_p2 -static int tolua_get_cCuboid_p2(lua_State* tolua_S) +/* method: DifX of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_DifX00 +static int tolua_AllToLua_cCuboid_DifX00(lua_State* tolua_S) { - cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p2'",NULL); + tolua_Error tolua_err; + if ( + !tolua_isusertype(tolua_S,1,"const cCuboid",0,&tolua_err) || + !tolua_isnoobj(tolua_S,2,&tolua_err) + ) + goto tolua_lerror; + else #endif - tolua_pushusertype(tolua_S,(void*)&self->p2,"Vector3i"); + { + const cCuboid* self = (const cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'DifX'", NULL); +#endif + { + int tolua_ret = (int) self->DifX(); + tolua_pushnumber(tolua_S,(lua_Number)tolua_ret); + } + } return 1; +#ifndef TOLUA_RELEASE + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'DifX'.",&tolua_err); + return 0; +#endif } #endif //#ifndef TOLUA_DISABLE -/* set function: p2 of class cCuboid */ -#ifndef TOLUA_DISABLE_tolua_set_cCuboid_p2 -static int tolua_set_cCuboid_p2(lua_State* tolua_S) +/* method: DifY of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_DifY00 +static int tolua_AllToLua_cCuboid_DifY00(lua_State* tolua_S) { - cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - tolua_Error tolua_err; - if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'p2'",NULL); - if ((tolua_isvaluenil(tolua_S,2,&tolua_err) || !tolua_isusertype(tolua_S,2,"Vector3i",0,&tolua_err))) - tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err); + tolua_Error tolua_err; + if ( + !tolua_isusertype(tolua_S,1,"const cCuboid",0,&tolua_err) || + !tolua_isnoobj(tolua_S,2,&tolua_err) + ) + goto tolua_lerror; + else #endif - self->p2 = *((Vector3i*) tolua_tousertype(tolua_S,2,0)) -; + { + const cCuboid* self = (const cCuboid*) tolua_tousertype(tolua_S,1,0); +#ifndef TOLUA_RELEASE + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'DifY'", NULL); +#endif + { + int tolua_ret = (int) self->DifY(); + tolua_pushnumber(tolua_S,(lua_Number)tolua_ret); + } + } + return 1; +#ifndef TOLUA_RELEASE + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'DifY'.",&tolua_err); return 0; +#endif } #endif //#ifndef TOLUA_DISABLE -/* method: Sort of class cCuboid */ -#ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_Sort00 -static int tolua_AllToLua_cCuboid_Sort00(lua_State* tolua_S) +/* method: DifZ of class cCuboid */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cCuboid_DifZ00 +static int tolua_AllToLua_cCuboid_DifZ00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; if ( - !tolua_isusertype(tolua_S,1,"cCuboid",0,&tolua_err) || + !tolua_isusertype(tolua_S,1,"const cCuboid",0,&tolua_err) || !tolua_isnoobj(tolua_S,2,&tolua_err) ) goto tolua_lerror; else #endif { - cCuboid* self = (cCuboid*) tolua_tousertype(tolua_S,1,0); + const cCuboid* self = (const cCuboid*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in function 'Sort'", NULL); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'DifZ'", NULL); #endif { - self->Sort(); + int tolua_ret = (int) self->DifZ(); + tolua_pushnumber(tolua_S,(lua_Number)tolua_ret); } } - return 0; + return 1; #ifndef TOLUA_RELEASE tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'Sort'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'DifZ'.",&tolua_err); return 0; #endif } @@ -18853,9 +18949,9 @@ static int tolua_AllToLua_cBlockArea_RelLine00(lua_State* tolua_S) } #endif //#ifndef TOLUA_DISABLE -/* method: RotateCW of class cBlockArea */ -#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCW00 -static int tolua_AllToLua_cBlockArea_RotateCW00(lua_State* tolua_S) +/* method: RotateCCW of class cBlockArea */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCCW00 +static int tolua_AllToLua_cBlockArea_RotateCCW00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; @@ -18869,24 +18965,24 @@ static int tolua_AllToLua_cBlockArea_RotateCW00(lua_State* tolua_S) { cBlockArea* self = (cBlockArea*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCW'", NULL); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCCW'", NULL); #endif { - self->RotateCW(); + self->RotateCCW(); } } return 0; #ifndef TOLUA_RELEASE tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'RotateCW'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'RotateCCW'.",&tolua_err); return 0; #endif } #endif //#ifndef TOLUA_DISABLE -/* method: RotateCCW of class cBlockArea */ -#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCCW00 -static int tolua_AllToLua_cBlockArea_RotateCCW00(lua_State* tolua_S) +/* method: RotateCW of class cBlockArea */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCW00 +static int tolua_AllToLua_cBlockArea_RotateCW00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; @@ -18900,16 +18996,16 @@ static int tolua_AllToLua_cBlockArea_RotateCCW00(lua_State* tolua_S) { cBlockArea* self = (cBlockArea*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCCW'", NULL); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCW'", NULL); #endif { - self->RotateCCW(); + self->RotateCW(); } } return 0; #ifndef TOLUA_RELEASE tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'RotateCCW'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'RotateCW'.",&tolua_err); return 0; #endif } @@ -19008,9 +19104,9 @@ static int tolua_AllToLua_cBlockArea_MirrorYZ00(lua_State* tolua_S) } #endif //#ifndef TOLUA_DISABLE -/* method: RotateCWNoMeta of class cBlockArea */ -#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCWNoMeta00 -static int tolua_AllToLua_cBlockArea_RotateCWNoMeta00(lua_State* tolua_S) +/* method: RotateCCWNoMeta of class cBlockArea */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCCWNoMeta00 +static int tolua_AllToLua_cBlockArea_RotateCCWNoMeta00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; @@ -19024,24 +19120,24 @@ static int tolua_AllToLua_cBlockArea_RotateCWNoMeta00(lua_State* tolua_S) { cBlockArea* self = (cBlockArea*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCWNoMeta'", NULL); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCCWNoMeta'", NULL); #endif { - self->RotateCWNoMeta(); + self->RotateCCWNoMeta(); } } return 0; #ifndef TOLUA_RELEASE tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'RotateCWNoMeta'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'RotateCCWNoMeta'.",&tolua_err); return 0; #endif } #endif //#ifndef TOLUA_DISABLE -/* method: RotateCCWNoMeta of class cBlockArea */ -#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCCWNoMeta00 -static int tolua_AllToLua_cBlockArea_RotateCCWNoMeta00(lua_State* tolua_S) +/* method: RotateCWNoMeta of class cBlockArea */ +#ifndef TOLUA_DISABLE_tolua_AllToLua_cBlockArea_RotateCWNoMeta00 +static int tolua_AllToLua_cBlockArea_RotateCWNoMeta00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; @@ -19055,16 +19151,16 @@ static int tolua_AllToLua_cBlockArea_RotateCCWNoMeta00(lua_State* tolua_S) { cBlockArea* self = (cBlockArea*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE - if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCCWNoMeta'", NULL); + if (!self) tolua_error(tolua_S,"invalid 'self' in function 'RotateCWNoMeta'", NULL); #endif { - self->RotateCCWNoMeta(); + self->RotateCWNoMeta(); } } return 0; #ifndef TOLUA_RELEASE tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'RotateCCWNoMeta'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'RotateCWNoMeta'.",&tolua_err); return 0; #endif } @@ -23242,6 +23338,8 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S) tolua_cclass(tolua_S,"cCuboid","cCuboid","",NULL); #endif tolua_beginmodule(tolua_S,"cCuboid"); + tolua_variable(tolua_S,"p1",tolua_get_cCuboid_p1,tolua_set_cCuboid_p1); + tolua_variable(tolua_S,"p2",tolua_get_cCuboid_p2,tolua_set_cCuboid_p2); tolua_function(tolua_S,"new",tolua_AllToLua_cCuboid_new00); tolua_function(tolua_S,"new_local",tolua_AllToLua_cCuboid_new00_local); tolua_function(tolua_S,".call",tolua_AllToLua_cCuboid_new00_local); @@ -23251,9 +23349,10 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S) tolua_function(tolua_S,"new",tolua_AllToLua_cCuboid_new02); tolua_function(tolua_S,"new_local",tolua_AllToLua_cCuboid_new02_local); tolua_function(tolua_S,".call",tolua_AllToLua_cCuboid_new02_local); - tolua_variable(tolua_S,"p1",tolua_get_cCuboid_p1,tolua_set_cCuboid_p1); - tolua_variable(tolua_S,"p2",tolua_get_cCuboid_p2,tolua_set_cCuboid_p2); tolua_function(tolua_S,"Sort",tolua_AllToLua_cCuboid_Sort00); + tolua_function(tolua_S,"DifX",tolua_AllToLua_cCuboid_DifX00); + tolua_function(tolua_S,"DifY",tolua_AllToLua_cCuboid_DifY00); + tolua_function(tolua_S,"DifZ",tolua_AllToLua_cCuboid_DifZ00); tolua_function(tolua_S,"IsInside",tolua_AllToLua_cCuboid_IsInside00); tolua_function(tolua_S,"IsInside",tolua_AllToLua_cCuboid_IsInside01); tolua_endmodule(tolua_S); @@ -23321,13 +23420,13 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S) tolua_function(tolua_S,"Fill",tolua_AllToLua_cBlockArea_Fill00); tolua_function(tolua_S,"FillRelCuboid",tolua_AllToLua_cBlockArea_FillRelCuboid00); tolua_function(tolua_S,"RelLine",tolua_AllToLua_cBlockArea_RelLine00); - tolua_function(tolua_S,"RotateCW",tolua_AllToLua_cBlockArea_RotateCW00); tolua_function(tolua_S,"RotateCCW",tolua_AllToLua_cBlockArea_RotateCCW00); + tolua_function(tolua_S,"RotateCW",tolua_AllToLua_cBlockArea_RotateCW00); tolua_function(tolua_S,"MirrorXY",tolua_AllToLua_cBlockArea_MirrorXY00); tolua_function(tolua_S,"MirrorXZ",tolua_AllToLua_cBlockArea_MirrorXZ00); tolua_function(tolua_S,"MirrorYZ",tolua_AllToLua_cBlockArea_MirrorYZ00); - tolua_function(tolua_S,"RotateCWNoMeta",tolua_AllToLua_cBlockArea_RotateCWNoMeta00); tolua_function(tolua_S,"RotateCCWNoMeta",tolua_AllToLua_cBlockArea_RotateCCWNoMeta00); + tolua_function(tolua_S,"RotateCWNoMeta",tolua_AllToLua_cBlockArea_RotateCWNoMeta00); tolua_function(tolua_S,"MirrorXYNoMeta",tolua_AllToLua_cBlockArea_MirrorXYNoMeta00); tolua_function(tolua_S,"MirrorXZNoMeta",tolua_AllToLua_cBlockArea_MirrorXZNoMeta00); tolua_function(tolua_S,"MirrorYZNoMeta",tolua_AllToLua_cBlockArea_MirrorYZNoMeta00); diff --git a/source/Bindings.h b/source/Bindings.h index 68877e426..0dfcea988 100644 --- a/source/Bindings.h +++ b/source/Bindings.h @@ -1,6 +1,6 @@ /* ** Lua binding: AllToLua -** Generated automatically by tolua++-1.0.92 on 03/24/13 22:28:31. +** Generated automatically by tolua++-1.0.92 on 03/29/13 17:37:21. */ /* Exported function */ diff --git a/source/Cuboid.cpp b/source/Cuboid.cpp index 7b3b24528..e50ea1faf 100644 --- a/source/Cuboid.cpp +++ b/source/Cuboid.cpp @@ -9,9 +9,18 @@ void cCuboid::Sort() { - if( p1.x > p2.x ) std::swap( p1.x, p2.x ); - if( p1.y > p2.y ) std::swap( p1.y, p2.y ); - if( p1.z > p2.z ) std::swap( p1.z, p2.z ); + if (p1.x > p2.x) + { + std::swap(p1.x, p2.x); + } + if (p1.y > p2.y) + { + std::swap(p1.y, p2.y); + } + if (p1.z > p2.z) + { + std::swap(p1.z, p2.z); + } } diff --git a/source/Cuboid.h b/source/Cuboid.h index 1002ff6b4..4032b66fb 100644 --- a/source/Cuboid.h +++ b/source/Cuboid.h @@ -1,40 +1,51 @@ + #pragma once #include "Vector3i.h" #include "Vector3d.h" -class cCuboid // tolua_export -{ // tolua_export -public: // tolua_export - cCuboid() {} // tolua_export - cCuboid( const cCuboid & a_Cuboid ) : p1( a_Cuboid.p1 ), p2( a_Cuboid.p2 ) {} // tolua_export - cCuboid( const Vector3i & a_p1, const Vector3i & a_p2 ) : p1( a_p1 ), p2( a_p2 ) {} // tolua_export - - - Vector3i p1, p2; // tolua_export - - void Sort(); // tolua_export - - bool IsInside( const Vector3i & v ) const // tolua_export - { // tolua_export - if( v.x >= p1.x && v.x <= p2.x - && v.y >= p1.y && v.y <= p2.y - && v.z >= p1.z && v.z <= p2.z ) - { - return true; - } - return false; - } // tolua_export - - bool IsInside( const Vector3d & v ) const // tolua_export - { // tolua_export - if( v.x >= p1.x && v.x <= p2.x - && v.y >= p1.y && v.y <= p2.y - && v.z >= p1.z && v.z <= p2.z ) - { - return true; - } - return false; - } // tolua_export - -}; // tolua_export + + + + +// tolua_begin +class cCuboid +{ +public: + // p1 is expected to have the smaller of the coords; Sort() swaps coords to match this + Vector3i p1, p2; + + cCuboid(void) {} + cCuboid(const cCuboid & a_Cuboid ) : p1(a_Cuboid.p1), p2(a_Cuboid.p2) {} + cCuboid(const Vector3i & a_p1, const Vector3i & a_p2) : p1(a_p1), p2(a_p2) {} + + void Sort(void); + + int DifX(void) const { return p2.x - p1.x; } + int DifY(void) const { return p2.y - p1.y; } + int DifZ(void) const { return p2.z - p1.z; } + + bool IsInside(const Vector3i & v) const + { + return ( + (v.x >= p1.x) && (v.x <= p2.x) && + (v.y >= p1.y) && (v.y <= p2.y) && + (v.z >= p1.z) && (v.z <= p2.z) + ); + } + + bool IsInside( const Vector3d & v ) const + { + return ( + (v.x >= p1.x) && (v.x <= p2.x) && + (v.y >= p1.y) && (v.y <= p2.y) && + (v.z >= p1.z) && (v.z <= p2.z) + ); + } + +} ; +// tolua_end + + + + |