patch4.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _PATCH4_HPP_
00020 #define _PATCH4_HPP_
00021
00022 #include <v3.hpp>
00023
00024 namespace cpe
00025 {
00026 class matrix4;
00027
00028 class patch4
00029 {
00030 public:
00031
00032
00033
00034
00035
00036
00037
00039 patch4();
00041 patch4(const v3& x00,const v3& x01,const v3& x02,const v3& x03,
00042 const v3& x10,const v3& x11,const v3& x12,const v3& x13,
00043 const v3& x20,const v3& x21,const v3& x22,const v3& x23,
00044 const v3& x30,const v3& x31,const v3& x32,const v3& x33);
00045
00046
00047
00048
00049
00050
00051
00053 const v3& operator()(const unsigned int& ku ,const unsigned int& kv) const;
00055 v3& operator()(const unsigned int& ku ,const unsigned int& kv);
00056
00058 matrix4 get_x() const;
00060 matrix4 get_y() const;
00062 matrix4 get_z() const;
00063
00064 private:
00065
00067 void assert_size(const unsigned int& ku,const unsigned int& kv) const;
00068
00070 v3 internal_data[16];
00071 };
00072 }
00073
00074 #endif