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); } }