Project

General

Profile

« Previous | Next » 

Revision 1a106eb8

Added by Leszek Koltunski about 2 years ago

BandagedCreator: mark cubits

View differences:

src/main/java/org/distorted/bandaged/BandagedCubit.java
23 23
import android.graphics.Canvas;
24 24
import android.graphics.Paint;
25 25

  
26
import org.distorted.library.effect.FragmentEffectBrightness;
26 27
import org.distorted.library.effect.MatrixEffectMove;
27 28
import org.distorted.library.effect.MatrixEffectQuaternion;
28 29
import org.distorted.library.effect.MatrixEffectScale;
......
31 32
import org.distorted.library.main.DistortedTexture;
32 33
import org.distorted.library.main.QuatHelper;
33 34
import org.distorted.library.mesh.MeshBase;
35
import org.distorted.library.type.Static1D;
34 36
import org.distorted.library.type.Static3D;
35 37
import org.distorted.library.type.Static4D;
36 38
import org.distorted.objectlib.helpers.FactoryBandaged3x3Cubit;
......
48 50
public class BandagedCubit
49 51
{
50 52
    private static final Static3D CENTER = new Static3D(0,0,0);
53
    private static final float[] mTmp = new float[4];
54
    private static final Static1D mAlpha = new Static1D(2.0f);
51 55
    private static Bitmap mBitmap;
52 56
    private static Static4D[] mTextureMaps;
53
    private static float[] mTmp = new float[4];
54 57

  
55 58
    private final DistortedNode mNode;
56
    private final DistortedTexture mTexture;
59
    private final DistortedEffects mEffects;
57 60
    private final Static3D mMove;
58 61
    private final boolean mRoundCorners;
59 62

  
60 63
    private float mUnscaledX, mUnscaledY, mUnscaledZ;
61 64
    private float[] mPosition;
62 65
    private boolean mIsAttached;
66
    private long mMarkedEffectID;
63 67

  
64 68
///////////////////////////////////////////////////////////////////////////////////////////////////
65 69

  
......
159 163
// PUBLIC API
160 164
///////////////////////////////////////////////////////////////////////////////////////////////////
161 165

  
162
    public BandagedCubit(float[] position, Static4D quat1, Static4D quat2, Static3D scale, int color, boolean roundCorners)
166
    public BandagedCubit(float[] position, Static4D quat1, Static4D quat2, Static3D scale, boolean roundCorners)
163 167
      {
164 168
      mRoundCorners = roundCorners;
165 169
      mPosition = position;
166 170
      mIsAttached = true;
171
      mMarkedEffectID = -1;
167 172

  
168 173
      computeMove(mPosition);
169 174
      mMove = new Static3D(0,0,0);
......
171 176
      FactoryBandaged3x3Cubit factory = FactoryBandaged3x3Cubit.getInstance();
172 177
      MeshBase mesh = factory.createMesh(mPosition,false,mRoundCorners);
173 178

  
174
      mTexture = new DistortedTexture();
179
      DistortedTexture texture = new DistortedTexture();
175 180
      if( mBitmap==null ) createBitmap();
176
      mTexture.setTextureAlreadyInverted(mBitmap);
181
      texture.setTextureAlreadyInverted(mBitmap);
177 182

  
178 183
      resetTextureMaps(mesh);
179 184

  
......
182 187
      MatrixEffectQuaternion quat2Effect = new MatrixEffectQuaternion(quat2, CENTER);
183 188
      MatrixEffectMove moveEffect = new MatrixEffectMove(mMove);
184 189

  
185
      DistortedEffects effects = new DistortedEffects();
186
      effects.apply(scaleEffect);
187
      effects.apply(moveEffect);
188
      effects.apply(quat2Effect);
189
      effects.apply(quat1Effect);
190
      mEffects = new DistortedEffects();
191
      mEffects.apply(scaleEffect);
192
      mEffects.apply(moveEffect);
193
      mEffects.apply(quat2Effect);
194
      mEffects.apply(quat1Effect);
190 195

  
191
      mNode = new DistortedNode(mTexture,effects,mesh);
196
      mNode = new DistortedNode(texture,mEffects,mesh);
192 197
      }
193 198

  
194 199
///////////////////////////////////////////////////////////////////////////////////////////////////
......
243 248

  
244 249
///////////////////////////////////////////////////////////////////////////////////////////////////
245 250

  
246
    public void setTexture(int color)
251
    public void setMarked()
247 252
      {
248
   //   mTexture.setColorARGB(color);
253
      FragmentEffectBrightness effect = new FragmentEffectBrightness(mAlpha);
254
      mMarkedEffectID = effect.getID();
255
      mEffects.apply(effect);
256
      }
257

  
258
///////////////////////////////////////////////////////////////////////////////////////////////////
259

  
260
    public void setUnmarked()
261
      {
262
      if( mMarkedEffectID>=0 ) mEffects.abortById(mMarkedEffectID);
249 263
      }
250 264

  
251 265
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff