LLVector3 LLCoordFrame::rotateToLocal(const LLVector3 &absolute_vector) const { LLVector3 local_vector(mXAxis * absolute_vector, mYAxis * absolute_vector, mZAxis * absolute_vector); return local_vector; }
LLVector4 LLCoordFrame::transformToLocal(const LLVector4 &absolute_vector) const { LLVector4 local_vector(absolute_vector); local_vector.mV[VX] -= mOrigin.mV[VX]; local_vector.mV[VY] -= mOrigin.mV[VY]; local_vector.mV[VZ] -= mOrigin.mV[VZ]; return rotateToLocal(local_vector); }
vector<int> sub_vec(const vector<int> &vec, int value) { vector<int> local_vector(vec); sort(local_vector.begin(), local_vector.end()); vector<int>::iterator iter = find_if(local_vector.begin(), local_vector.end(), bind2nd(greater<int>(), value)); local_vector.erase(iter, local_vector.end()); return local_vector; }