AnimationSegment AnimationSegment::merge( const AnimationSegment& seg ) const { if( mAnim != seg.getAnimation() ) return AnimationSegment( mAnim, 0, 0 ); AnimationSegment seg1 = *this, seg2 = seg; if( seg2.mStartTime < seg1.mStartTime ) std::swap( seg1, seg2 ); if( seg2.mStartTime < seg1.mEndTime ) { if( seg2.mEndTime <= seg1.mEndTime ) return seg1; else return AnimationSegment( mAnim, seg1.mStartTime, seg2.mEndTime ); } return AnimationSegment( mAnim, 0, 0 ); }
void Animation::AddNamedSegment(const char* name, size_t startKeyFrame, size_t endKeyFrame) { this->segments.PushBack(AnimationSegment(name, startKeyFrame, endKeyFrame)); }