Comments (2)
I did some more testing:
Tested 3D Objects | 1-on-1, or grouped? | How is Translation Set | Works? |
---|---|---|---|
box × box | CollisionObject | anyhow | YES |
mesh × box | CollisionObject | anyhow | YES |
box × box | CollisionManager | anyhow | YES |
mesh × box | CollisionManager | collisionObject.setTranslation(...) | NO |
mesh × box | CollisionManager | CollisionObject(geom, ...) | YES |
So, collision detection does not work only and only if
- one of the objects is a mesh soup,
- the objects are grouped in (and checked by)
CollisionManager
, - and the transformations are not already set in the constructor of
CollisionObject
but afterCollisionObject
s' creation.
This led me to a question: Why is an AABB
of a CollisionObject
dependent on the way the transformation of the CollisionObject
is set, and does it influence collision checking with CollisionManager
s?
See -- the code
auto transformation_Transform3 = fcl::Transform3<double>(translation_Translation3);
auto twoMetersBox_CollisionObject = std::make_shared<fcl::CollisionObject<double>>(twoMeters_Box, transformation_Transform3);
produces
twoMetersBox_AABB.center()= [10, 10, 5.65],
while
auto twoMetersBox_CollisionObject = std::make_shared<fcl::CollisionObject<double>>(twoMeters_Box);
twoMetersBox_CollisionObject->setTranslation(twoMetersBoxTranslation_Vector3);
produces:
twoMetersBox_AABB.center()= [0, 0, 0].
My proposition is to make CollisionObject::setTranslation()
and CollisionObject::setRotation()
protected or fix the way CollisionManager
s are handling them, but I still lack the full understanding of how the whole thing works.
from fcl.
I just gave a last shot trying to find a similar issue, and here we are! This issue would have been solved long ago if the terribly old issue #40 was solved, too!!!
from fcl.
Related Issues (20)
- Point inside given shape
- How to make one concave geometry outside of another concave geometry by a set distance threshold
- Questions about tests
- How to check if the geometric wrap meets expectations? HOT 1
- Incorrect Collision and Distance Results with Box and Capsule HOT 1
- how to get tow collide objs contacts
- the time to create BVHModel HOT 1
- What does GST_INDEP mean? HOT 2
- Units for CollisionGeometry<>::computeMomentofInertia HOT 1
- test_fcl_simple timeouts HOT 1
- The order of collision geometry in fcl::Contact HOT 4
- creating a collision object from octree HOT 1
- Eigen3 dependancy error HOT 1
- Make error (no match for ‘operator[]’, remove_const_t is not a member of std, compiler too old) HOT 3
- ERROR: build/fcl/test/geometry/shape/test_box: symbol lookup error HOT 1
- Combining multiple shape bases into a convex shape HOT 1
- Failed to compile the source file in windows
- How to correctly handle Mesh to Mesh collision checking?
- FCL Unable to Compile with gcc 13.2.0
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 fcl.