Vector4 subclass instead of typedef
This commit is contained in:
parent
2b9fec5d82
commit
da127ccde3
2 changed files with 60 additions and 1 deletions
50
src/basics/vector.cc
Normal file
50
src/basics/vector.cc
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
/* vector.cc
|
||||||
|
* vim: set tw=80:
|
||||||
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "basics/vector.hh"
|
||||||
|
|
||||||
|
|
||||||
|
namespace charles {
|
||||||
|
namespace basics {
|
||||||
|
|
||||||
|
Vector4::Vector4()
|
||||||
|
: mCells({0.0, 0.0, 0.0, 1.0})
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* charles::basics::Vector4::X --
|
||||||
|
*/
|
||||||
|
Double&
|
||||||
|
Vector4::X()
|
||||||
|
{
|
||||||
|
return mData[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* charles::basics::Vector4::Y --
|
||||||
|
*/
|
||||||
|
Double&
|
||||||
|
Vector4::Y()
|
||||||
|
{
|
||||||
|
return mData[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* charles::basics::Vector4::Z --
|
||||||
|
*/
|
||||||
|
Double&
|
||||||
|
Vector4::Z()
|
||||||
|
{
|
||||||
|
return mData[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace basics */
|
||||||
|
} /* namespace charles */
|
||||||
|
|
||||||
|
|
@ -19,7 +19,16 @@ struct Vector
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
|
|
||||||
typedef Vector<4> Vector4;
|
struct Vector4
|
||||||
|
: public Vector<4>
|
||||||
|
{
|
||||||
|
Vector4();
|
||||||
|
Vector4(Double x, Double y, Double z);
|
||||||
|
|
||||||
|
Double& X();
|
||||||
|
Double& Y();
|
||||||
|
Double& Z();
|
||||||
|
};
|
||||||
|
|
||||||
} /* namespace basics */
|
} /* namespace basics */
|
||||||
} /* namespace charles */
|
} /* namespace charles */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue