List of all members.
Detailed Description
template<class T>
class inlib::a3::clip< T >
Definition at line 427 of file a3.
Constructor & Destructor Documentation
Definition at line 429 of file a3.
Definition at line 430 of file a3.
Member Function Documentation
Definition at line 440 of file a3.
{
m_data[m_cur].push_back(a_point);
}
Definition at line 444 of file a3.
{
unsigned int n = m_data[m_cur].size();
if (n == 0) return;
vec<T> dummy = m_data[m_cur][0];
m_data[m_cur].push_back(dummy);
const vec<T>& planeN = plane.normal();
for(unsigned int i = 0; i < n; i++) {
vec<T> v0 = m_data[m_cur][i];
vec<T> v1 = m_data[m_cur][i+1];
T d0 = plane.distance(v0);
T d1 = plane.distance(v1);
if (d0 >= 0.0f && d1 < 0.0f) {
vec<T> dir = v1-v0;
dir.normalize();
T dot = dir.dot(planeN);
vec<T> newvertex = v0 - dir * (d0/dot);
out_point(newvertex);
} else if (d0 < 0.0f && d1 >= 0.0f) {
vec<T> dir = v1-v0;
dir.normalize();
T dot = dir.dot(planeN);
vec<T> newvertex = v0 - dir * (d0/dot);
out_point(newvertex);
out_point(v1);
} else if (d0 >= 0.0f && d1 >= 0.0f) {
out_point(v1);
}
}
m_data[m_cur].clear();
m_cur ^= 1;
}
Definition at line 435 of file a3.
{
m_data[0].clear();
m_data[1].clear();
m_cur = 0;
}
Definition at line 487 of file a3.
{
return m_data[m_cur];
}
The documentation for this class was generated from the following file:
- /Users/barrand/private/dev/softinex/old/inexlib-1.2/inlib/inlib/a3