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 charles */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue