Comments (2)
I'll comment "in general", without knowing the specifics of your case, or Box2d user data. In libraries in general (and I'm sure Box2d is the same), user data is "user" data because the library has no idea what it is. A user data pointer is just a handy place to put "whatever you want", so you can access something in your own code when you get an event (for example) from the library. Box2d (or ofxBox2d) can't "free" it, because it doesn't know if it was allocated on the heap (using malloc, or new, for example), on the stack (e.g. a pointer to a global variable), or whether it's just a "tag" you use for your own purposes (e.g. an index into an array). It's "user" data, so it's up to the user to deal with it properly.
If you set something -- which you'd allocated yourself (using new, for example) -- as Box2d user data, you'd need to release it yourself (e.g. using delete). The library doesn't assume anything about the user data. Setting it to NULL on destruction of the Box2d primitive wouldn't do any harm, but wouldn't free your object, either.
from ofxbox2d.
Thanks Glen.
Also found this on the OF Forum about this subject and freeing memory: "box2d contact listening and userdata"
http://forum.openframeworks.cc/index.php?topic=3441.0
Maybe it would be nice to get this include in the Custom Data & ContactListener examples.
from ofxbox2d.
Related Issues (20)
- Error with a new qtcreator 4.0 HOT 3
- Optimise performances using parallel computing ? HOT 1
- MAX, MIN to max min to build on ubuntu HOT 1
- enableGravity is commented out HOT 1
- kinematic body? HOT 1
- Variable length arrays in Visual Studio HOT 7
- stable branch should remove project files & rename testApp to ofApp HOT 4
- Request example-SimplePolygon HOT 1
- How to get the position of the shape after collision? HOT 2
- static polygon shape not working HOT 1
- How to let the object when the collision does not rotate HOT 1
- How to set position of box2dshape HOT 1
- ofxBox2dEdge allows bodies to travel through it HOT 1
- ::shouldRemoveOffScreen HOT 1
- disable rotating HOT 1
- compiling on rpi HOT 1
- collisions with openCv blobs
- Error: junk at end of line, first unrecognized character is `@' HOT 2
- compilation error in Qtcreator
- Not compiling on Raspberry Pi OS (Buster) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ofxbox2d.