All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.brashmonkey.spriter.mergers.SpriterBoneMerger Maven / Gradle / Ivy

There is a newer version: 1.1
Show newest version
/**************************************************************************
 * Copyright 2013 by Trixt0r
 * (https://github.com/Trixt0r, Heinrich Reich, e-mail: [email protected])
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
***************************************************************************/

package com.brashmonkey.spriter.mergers;

import com.brashmonkey.spriter.interpolation.SpriterCurve;
import com.brashmonkey.spriter.objects.SpriterBone;
import com.discobeard.spriter.dom.Bone;
import com.discobeard.spriter.dom.BoneRef;
import com.discobeard.spriter.dom.Key;

public class SpriterBoneMerger implements ISpriterMerger{

	public SpriterBone merge(BoneRef ref, Key key) {
		
		Bone obj = key.getBone();
		
		SpriterBone bone = new SpriterBone();
		SpriterCurve.Type t = SpriterCurve.getType(key.curveType);
		bone.curve = new SpriterCurve(t);
		bone.curve.c1 = key.c1;
		bone.curve.c2 = key.c2;
		bone.curve.c3 = key.c3;
		bone.curve.c4 = key.c4;
		bone.setTimeline(ref.getTimeline().intValue());
		bone.setId(ref.getId().intValue());
		bone.setParentId((ref.getParent() == null) ? -1 : ref.getParent().intValue());
		bone.setAngle(obj.getAngle().floatValue());
		bone.setScaleX(obj.getScaleX().floatValue());
		bone.setScaleY(obj.getScaleY().floatValue());
		bone.setX(obj.getX().floatValue());
		bone.setY(obj.getY().floatValue());
		bone.setSpin(key.getSpin());
		
		return bone;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy