Skip to content

Commit 32fd285

Browse files
committed
added cache checks to Matter.Composite
1 parent 10afaea commit 32fd285

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/body/Composite.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ var Body = require('./Body');
6262
Composite.setModified = function(composite, isModified, updateParents, updateChildren) {
6363
composite.isModified = isModified;
6464

65-
if (isModified) {
65+
if (isModified && composite.cache) {
6666
composite.cache.allBodies = null;
6767
composite.cache.allConstraints = null;
6868
composite.cache.allComposites = null;
@@ -73,7 +73,7 @@ var Body = require('./Body');
7373
}
7474

7575
if (updateChildren) {
76-
for(var i = 0; i < composite.composites.length; i++) {
76+
for (var i = 0; i < composite.composites.length; i++) {
7777
var childComposite = composite.composites[i];
7878
Composite.setModified(childComposite, isModified, updateParents, updateChildren);
7979
}
@@ -359,7 +359,7 @@ var Body = require('./Body');
359359
* @return {body[]} All the bodies
360360
*/
361361
Composite.allBodies = function(composite) {
362-
if (composite.cache.allBodies) {
362+
if (composite.cache && composite.cache.allBodies) {
363363
return composite.cache.allBodies;
364364
}
365365

@@ -368,7 +368,9 @@ var Body = require('./Body');
368368
for (var i = 0; i < composite.composites.length; i++)
369369
bodies = bodies.concat(Composite.allBodies(composite.composites[i]));
370370

371-
composite.cache.allBodies = bodies;
371+
if (composite.cache) {
372+
composite.cache.allBodies = bodies;
373+
}
372374

373375
return bodies;
374376
};
@@ -380,7 +382,7 @@ var Body = require('./Body');
380382
* @return {constraint[]} All the constraints
381383
*/
382384
Composite.allConstraints = function(composite) {
383-
if (composite.cache.allConstraints) {
385+
if (composite.cache && composite.cache.allConstraints) {
384386
return composite.cache.allConstraints;
385387
}
386388

@@ -389,7 +391,9 @@ var Body = require('./Body');
389391
for (var i = 0; i < composite.composites.length; i++)
390392
constraints = constraints.concat(Composite.allConstraints(composite.composites[i]));
391393

392-
composite.cache.allConstraints = constraints;
394+
if (composite.cache) {
395+
composite.cache.allConstraints = constraints;
396+
}
393397

394398
return constraints;
395399
};
@@ -401,7 +405,7 @@ var Body = require('./Body');
401405
* @return {composite[]} All the composites
402406
*/
403407
Composite.allComposites = function(composite) {
404-
if (composite.cache.allComposites) {
408+
if (composite.cache && composite.cache.allComposites) {
405409
return composite.cache.allComposites;
406410
}
407411

@@ -410,7 +414,9 @@ var Body = require('./Body');
410414
for (var i = 0; i < composite.composites.length; i++)
411415
composites = composites.concat(Composite.allComposites(composite.composites[i]));
412416

413-
composite.cache.allComposites = composites;
417+
if (composite.cache) {
418+
composite.cache.allComposites = composites;
419+
}
414420

415421
return composites;
416422
};

0 commit comments

Comments
 (0)