Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint32 CatmullRomSpline::insertBefore(uint32 index)
- {
- f32vec2 p0 = getPosition(index-1);
- f32vec2 m0 = getTangent(index-1) / (getParameter(index) - getParameter(index-1));
- f32vec2 p1 = getPosition(index);
- f32vec2 m1 = getTangent(index) / (getParameter(index) - getParameter(index-1));
- float u = 0.5f;
- f32vec2 newPoint = evaluateHermiteSegment(p0, m0, m1, p1, u);
- m_positions.insert(m_positions.begin() + index , newPoint);
- return index;
- }
- uint32 CatmullRomSpline::insertAfter(uint32 index)
- {
- f32vec2 p0 = getPosition(index);
- f32vec2 m0 = getTangent(index) / (getParameter(index+1) - getParameter(index));
- f32vec2 p1 = getPosition(index+1);
- f32vec2 m1 = getTangent(index+1) / (getParameter(index+1) - getParameter(index));
- float u = 0.5f;
- f32vec2 newPoint = evaluateHermiteSegment(p0, m0, m1, p1, u);
- m_positions.insert(m_positions.begin() + (index+1), newPoint);
- return index+1;
- }
- uint32 CatmullRomSpline::removeAt(uint32 index)
- {
- // Assignment 1e
- m_positions.erase(m_positions.begin() + index);
- return index;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement