Revision 7a9edb92
Added by Leszek Koltunski over 3 years ago
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
Add component centers to dmesh version 2.