Project

General

Profile

« Previous | Next » 

Revision 24624a1a

Added by Leszek Koltunski over 5 years ago

Add support for MeshSphere (add ability to display it in the 'Effects3D' and 'Inflate' apps).
Still a bit buggy!

View differences:

src/main/java/org/distorted/examples/inflate/InflateActivity.java
41 41
  {
42 42
  private static final int COLOR_OFF = 0xffffe81f;
43 43
  private static final int COLOR_ON  = 0xff0000ff;
44
  private static final int COLOR_INAC= 0xff00ff00;
44
  private static final int COLOR_INAC= 0xff999999;
45 45

  
46 46
  private int mNumCols = 1;
47 47
  private int mNumRows = 1;
......
108 108
    Spinner typeSpinner  = findViewById(R.id.objectpicker_spinnerType);
109 109
    typeSpinner.setOnItemSelectedListener(this);
110 110

  
111
    String[] objectType = new String[] {"Mesh: Cubes", "Mesh: Flat"};
111
    String[] objectType = new String[] {"Mesh: Cubes", "Mesh: Flat", "Mesh: Sphere", "Mesh: Quad"};
112 112

  
113 113
    ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
114 114
    adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
......
178 178

  
179 179
  public void onClick(View view)
180 180
    {
181
    if( mObjectType!=1 )
181
    if( mObjectType==0 )  // cubes
182 182
      {
183 183
      Button tmp = (Button)view;
184 184
      int id = tmp.getId();
......
201 201
      for(int col=0; col<mNumCols; col++)
202 202
        {
203 203
        butt = (Button)tr.getVirtualChildAt(col);
204
        butt.setBackgroundColor(mObjectType==1 ? COLOR_INAC : COLOR_ON);
204
        butt.setBackgroundColor(mObjectType==0 ? COLOR_ON : COLOR_INAC);
205 205
        mShape[row*mNumCols+col] = true;
206 206
        }
207 207
      }
......
214 214
    Intent mainInt = new Intent( getApplicationContext(), InflateActivity2.class);
215 215
    Bundle b = new Bundle();
216 216

  
217
    int rows=0, cols=0;
218

  
219
    switch(mObjectType)
220
      {
221
      case 0:
222
      case 1: rows = mNumRows;
223
              cols = mNumCols;
224
              break;
225
      case 2: rows = mNumRows;   // always make the sphere equal in X and Y
226
              cols = mNumRows;   //
227
              break;
228
      case 3: rows = 1;          // a quad is always 1x1
229
              cols = 1;
230
              break;
231
      }
232

  
217 233
    b.putInt("type", mObjectType);
218
    b.putInt("cols", mNumCols);
219
    b.putInt("rows", mNumRows);
234
    b.putInt("cols", cols);
235
    b.putInt("rows", rows);
220 236
    b.putInt("slices", mNumSlic);
221 237
    b.putInt("bitmap", mBitmapID);
222 238

  
223
    if( mObjectType==1 )
224
      {
225
      b.putString("string", "");
226
      }
227
    else
239
    if( mObjectType==0 )   // cubes
228 240
      {
229 241
      String str = "";
230 242

  
......
233 245

  
234 246
      b.putString("string", str);
235 247
      }
248
    else
249
      {
250
      b.putString("string", "");
251
      }
236 252

  
237 253
    mainInt.putExtras(b);
238 254
    startActivity(mainInt);
......
248 264
                                              {
249 265
                                              mObjectType = pos;
250 266
                                              uncheckAll();
267

  
268
                                              switch(mObjectType)
269
                                                {
270
                                                case 0: mColsPicker.setEnabled(true);
271
                                                        mRowsPicker.setEnabled(true);
272
                                                        mSlicPicker.setEnabled(true);
273
                                                        break;
274
                                                case 1: mColsPicker.setEnabled(true);
275
                                                        mRowsPicker.setEnabled(true);
276
                                                        mSlicPicker.setEnabled(false);
277
                                                        break;
278
                                                case 2: mColsPicker.setEnabled(false);
279
                                                        mRowsPicker.setEnabled(true);
280
                                                        mSlicPicker.setEnabled(false);
281
                                                        break;
282
                                                case 3: mColsPicker.setEnabled(false);
283
                                                        mRowsPicker.setEnabled(false);
284
                                                        mSlicPicker.setEnabled(false);
285
                                                        break;
286
                                                }
251 287
                                              }
252 288
                                            break;
253 289
      case R.id.objectpicker_spinnerBitmap: switch(pos)

Also available in: Unified diff