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 );
}
Exemple #2
0
 void Animation::AddNamedSegment(const char* name, size_t startKeyFrame, size_t endKeyFrame)
 {
     this->segments.PushBack(AnimationSegment(name, startKeyFrame, endKeyFrame));
 }