package com.asha.vrlib.strategy.projection;
import android.app.Activity;
import android.graphics.RectF;
import com.asha.vrlib.model.MDMainPluginBuilder;
import com.asha.vrlib.model.MDPosition;
import com.asha.vrlib.objects.MDAbsObject3D;
import com.asha.vrlib.objects.MDDome3D;
import com.asha.vrlib.objects.MDObject3DHelper;
import com.asha.vrlib.plugins.MDAbsPlugin;
import com.asha.vrlib.plugins.MDPanoramaPlugin;
/**
* Created by hzqiujiadi on 16/6/25.
* hzqiujiadi ashqalcn@gmail.com
*/
public class DomeProjection extends AbsProjectionStrategy {
MDAbsObject3D object3D;
private float mDegree;
private boolean mIsUpper;
private RectF mTextureSize;
public DomeProjection(RectF textureSize, float degree, boolean isUpper) {
this.mTextureSize = textureSize;
this.mDegree = degree;
this.mIsUpper = isUpper;
}
@Override
public void turnOnInGL(Activity activity) {
object3D = new MDDome3D(mTextureSize, mDegree, mIsUpper);
MDObject3DHelper.loadObj(activity, object3D);
}
@Override
public void turnOffInGL(Activity activity) {
}
@Override
public boolean isSupport(Activity activity) {
return true;
}
@Override
public MDAbsObject3D getObject3D() {
return object3D;
}
@Override
public MDPosition getModelPosition() {
return MDPosition.getOriginalPosition();
}
@Override
public MDAbsPlugin buildMainPlugin(MDMainPluginBuilder builder) {
return new MDPanoramaPlugin(builder);
}
}