本文整理汇总了C++中Mat4::getVecSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Mat4::getVecSize方法的具体用法?C++ Mat4::getVecSize怎么用?C++ Mat4::getVecSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mat4
的用法示例。
在下文中一共展示了Mat4::getVecSize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: elems
Mat4 operator*(const Mat4& l, const Mat4& r)
{
Mat4 transformed{reverse(rotateAntiClockwise(r))};
std::vector<Vec::Vector> rows{(l.getVecSize() == r.getVecSize() ? l.getVecSize() : -1)};
int rowCount{0};
for (auto& i : l.representation()) //for every row
{
std::vector<float> elems(l.getVecSize());
for (int j = 0; j < l.getVecSize(); ++j)
{
int elemCount{0};
for (auto& k : transformed.representation())
elems.at(elemCount++) += k.representation().at(j) * i.representation().at(j);
}
rows.at(rowCount++) = elems;
}
Mat4 result{rows};
return result;
}
示例2: rotateAntiClockwise
Mat4 rotateAntiClockwise(const Mat4& m)
{
using namespace std;
std::map<int, Vec::Vector> rows{};
std::map<int, std::vector<float>> elems{};
//this eliminates magic numbers and many variables
std::vector<Vec::Vector> rv(m.getVecSize());
for (int i = 0; i < m.getVecSize(); ++i)
rows[i] = rv.at(i);
//as above
std::vector<std::vector<float>> rf(m.getVecSize());
for (int i = 0; i < m.getVecSize(); ++i)
elems[i] = rf.at(i);
for (auto& i : m.representation()) //for every Vector
{
for (int j = 0; j < m.getVecSize(); ++j) //for every element in every vector in the Vector
{
elems[j].push_back(i.representation().at(j));
rows[j] = elems[j];
for (auto k : rows[j])
{
cout <<" Hey" << endl;
}
}
}
std::vector<Vec::Vector> temp{};
for (int i = m.getVecSize() - 1; i >= 0; --i){
temp.push_back(rows[i]);
cout << temp.size() << endl;
}
Mat4 result{temp};
return result;
}