Project

General

Profile

« Previous | Next » 

Revision 7a9edb92

Added by Leszek Koltunski over 3 years ago

Add component centers to dmesh version 2.

View differences:

src/main/java/org/distorted/library/mesh/DeferredJobs.java
45 45
  private static final int JOB_TYPE_COPY     = 5;
46 46
  private static final int JOB_TYPE_TEXTURE  = 6;
47 47
  private static final int JOB_TYPE_ASSOC    = 7;
48
  private static final int JOB_TYPE_CENTER   = 8;
48 49

  
49 50
  private static ArrayList<JobNode> mJobs = new ArrayList<>();
50 51

  
......
59 60
    private MatrixEffect mMatrixEffect;
60 61
    private Static4D[] mMaps;
61 62
    private int mComp, mAndAssoc, mEquAssoc;
63
    private float mX,mY,mZ;
62 64

  
63
    Job(int type, MeshBase target, MeshBase[] source, VertexEffect vEff, MatrixEffect mEff, Static4D[] maps, int comp, int and, int equ)
65
    Job(int type, MeshBase target, MeshBase[] source, VertexEffect vEff, MatrixEffect mEff, Static4D[] maps, int comp, int and, int equ, float x, float y, float z)
64 66
      {
65 67
      mType     = type;
66 68
      mTarget   = target;
......
69 71
      mComp     = comp;
70 72
      mAndAssoc = and;
71 73
      mEquAssoc = equ;
74
      mX        = x;
75
      mY        = y;
76
      mZ        = z;
72 77

  
73 78
      if( vEff!=null )
74 79
        {
......
104 109
                                 break;
105 110
        case JOB_TYPE_ASSOC    : mTarget.setEffectAssociationNow(mComp,mAndAssoc,mEquAssoc);
106 111
                                 break;
112
        case JOB_TYPE_CENTER   : mTarget.setComponentCenterNow(mComp,mX,mY,mZ);
113
                                 break;
107 114
        }
108 115
/*
109 116
      Log.e("jobs", "executing "+print()+" job");
......
128 135
        case JOB_TYPE_COPY     : return "COPY";
129 136
        case JOB_TYPE_TEXTURE  : return "TEXTURE";
130 137
        case JOB_TYPE_ASSOC    : return "ASSOC";
138
        case JOB_TYPE_CENTER   : return "CENTER";
131 139
        }
132 140

  
133 141
      return null;
......
231 239

  
232 240
    if( jn==null )
233 241
      {
234
      Job job = new Job(JOB_TYPE_VERTEX,target,null,effect,null,null,0,0,0);
242
      Job job = new Job(JOB_TYPE_VERTEX,target,null,effect,null,null,0,0,0,0,0,0);
235 243
      JobNode node = new JobNode(job);
236 244
      mJobs.add(node);
237 245
      return node;
......
245 253
        }
246 254
      else
247 255
        {
248
        Job job = new Job(JOB_TYPE_VERTEX,target,null,effect,null,null,0,0,0);
256
        Job job = new Job(JOB_TYPE_VERTEX,target,null,effect,null,null,0,0,0,0,0,0);
249 257
        JobNode node = new JobNode(job);
250 258
        node.mPrevJobs.add(jn);
251 259
        jn.mNextJobs.add(node);
......
260 268
  static JobNode matrix(MeshBase target, MatrixEffect effect, int andAssoc, int ecuAssoc)
261 269
    {
262 270
    JobNode jn = target.mJobNode[0];
263
    Job job = new Job(JOB_TYPE_MATRIX,target,null,null,effect,null,0,andAssoc,ecuAssoc);
271
    Job job = new Job(JOB_TYPE_MATRIX,target,null,null,effect,null,0,andAssoc,ecuAssoc,0,0,0);
264 272
    JobNode node = new JobNode(job);
265 273
    node.mPrevJobs.add(jn);
266 274
    jn.mNextJobs.add(node);
......
273 281
  static JobNode mergeTex(MeshBase target)
274 282
    {
275 283
    JobNode jn = target.mJobNode[0];
276
    Job job = new Job(JOB_TYPE_MERGE_TEX,target,null,null,null,null,0,0,0);
284
    Job job = new Job(JOB_TYPE_MERGE_TEX,target,null,null,null,null,0,0,0,0,0,0);
277 285
    JobNode node = new JobNode(job);
278 286
    node.mPrevJobs.add(jn);
279 287
    jn.mNextJobs.add(node);
......
286 294
  static JobNode mergeEff(MeshBase target)
287 295
    {
288 296
    JobNode jn = target.mJobNode[0];
289
    Job job = new Job(JOB_TYPE_MERGE_EFF,target,null,null,null,null,0,0,0);
297
    Job job = new Job(JOB_TYPE_MERGE_EFF,target,null,null,null,null,0,0,0,0,0,0);
290 298
    JobNode node = new JobNode(job);
291 299
    node.mPrevJobs.add(jn);
292 300
    jn.mNextJobs.add(node);
......
300 308
    {
301 309
    JobNode jn;
302 310

  
303
    Job job = new Job(JOB_TYPE_JOIN,target,meshes,null,null,null,0,0,0);
311
    Job job = new Job(JOB_TYPE_JOIN,target,meshes,null,null,null,0,0,0,0,0,0);
304 312
    JobNode node = new JobNode(job);
305 313

  
306 314
    for (MeshBase mesh : meshes)
......
325 333
    JobNode jn = mesh.mJobNode[0];
326 334
    MeshBase[] meshes = new MeshBase[1];
327 335
    meshes[0] = mesh;
328
    Job job = new Job(JOB_TYPE_COPY,target,meshes,null,null,null,0,0,0);
336
    Job job = new Job(JOB_TYPE_COPY,target,meshes,null,null,null,0,0,0,0,0,0);
329 337
    JobNode node = new JobNode(job);
330 338
    node.mPrevJobs.add(jn);
331 339
    jn.mNextJobs.add(node);
......
338 346
  static JobNode textureMap(MeshBase target, Static4D[] maps, int comp)
339 347
    {
340 348
    JobNode jn = target.mJobNode[0];
341
    Job job = new Job(JOB_TYPE_TEXTURE,target,null,null,null,maps,comp,0,0);
349
    Job job = new Job(JOB_TYPE_TEXTURE,target,null,null,null,maps,comp,0,0,0,0,0);
342 350
    JobNode node = new JobNode(job);
343 351
    node.mPrevJobs.add(jn);
344 352
    jn.mNextJobs.add(node);
......
351 359
  static JobNode effectAssoc(MeshBase target, int comp, int andAssoc, int equAssoc)
352 360
    {
353 361
    JobNode jn = target.mJobNode[0];
354
    Job job = new Job(JOB_TYPE_ASSOC,target,null,null,null,null,comp,andAssoc,equAssoc);
362
    Job job = new Job(JOB_TYPE_ASSOC,target,null,null,null,null,comp,andAssoc,equAssoc,0,0,0);
363
    JobNode node = new JobNode(job);
364
    node.mPrevJobs.add(jn);
365
    jn.mNextJobs.add(node);
366
    mJobs.add(node);
367
    return node;
368
    }
369

  
370
///////////////////////////////////////////////////////////////////////////////////////////////////
371

  
372
  static JobNode componentCenter(MeshBase target, int comp, float x, float y, float z)
373
    {
374
    JobNode jn = target.mJobNode[0];
375
    Job job = new Job(JOB_TYPE_CENTER,target,null,null,null,null,comp,0,0,x,y,z);
355 376
    JobNode node = new JobNode(job);
356 377
    node.mPrevJobs.add(jn);
357 378
    jn.mNextJobs.add(node);

Also available in: Unified diff