Update of /cvsroot/opal/opal
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11688
Modified Files:
todo.txt
Log Message:
added a RaycastSensor, which replaces the old Simulator ray casting functions
Index: todo.txt
===================================================================
RCS file: /cvsroot/opal/opal/todo.txt,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** todo.txt 8 Mar 2005 16:10:25 -0000 1.51
--- todo.txt 9 Mar 2005 02:09:51 -0000 1.52
***************
*** 2,27 ****
=================
! * look at scons dylib-building problem on os x
* fix memory allocation across dll boundary
- volume collision check results -> put results in a specific class
- * certain function calls during collision events crash the system
- - definitely bad:
- - setStatic, setPosition, setTransform, setVelocity, setSpace, addShape, setSleeping, simulator::destroySolid/Joint, etc.
- - maybe bad:
- - setEnabled, translateMass
- - solution: create an event queue and call the functions at a safe time
- - don't use events when it's already "safe" (i.e. not in collision detection mode), just apply them instantly; i.e. have a "safe" boolean that's set to false only when in collision detection
- - per step, or per frame?
- - replace 'garbage' system with delayed destroy events
- - alternative solution: just make collision callback calls happen at the end of the step; but this could be a problem because sometimes you might want to ignore contacts... but maybe it wouldn't matter if we don't return the boolean from the collision events and used some other contact-generation flag system (i.e. the "category/collide" bits); how should we handle this?
-
- * Add a boolean to Solid that determines if it generates contacts at all (the docking volume shouldn't collide with anything but should generate collision events still).
- - maybe look at a more powerful solution with collide flags
-
- * reenable collision detection for static-static, static-sleeping cases (or have an option)
- - solution: probably use collision groups for this
-
* make trimeshes work
--- 2,14 ----
=================
! * sensors
! - parse from xml
! - add to xml example
! - add to instantiateBlueprint
! - add to Blueprint finalize function
* fix memory allocation across dll boundary
- volume collision check results -> put results in a specific class
* make trimeshes work
***************
*** 33,36 ****
--- 20,30 ----
- non-fatal errors just print a warning
+ * joint motion damping?
+ - useful for ragdolls
+ - one solution: just use a servo in desired vel mode, set desired vel to 0
+
+ * BeginStepEventHandler
+ - called at the start of a time step
+
* implement sensors
- RaycastSensor (i.e. "PSD (position sensitive detector)" or "rangefinder"): measures distance from sensor to first intersection (attach to a solid [be sure to ignore collisions with the attached solid] or nothing)
***************
*** 39,50 ****
- not updated regularly; must be updated manually by user
- should this be combined with trigger solids? probably not: ProximitySensors are one-time, triggers are always updated (triggers are actually just solids with a ContactSensor and don't generate contact joints)
- - CollisionSensor
- - hold a queue of collision events (attach to a solid, to a single shape, or to nothing?)
- - use callback functions
- - user-derived class
- - vital part of "trigger volumes"
- - not available in XML because they're derived; ignore these when saving and loading
- - JointBreakSensor
- - not available in XML because they're derived; ignore these when saving and loading
- VelocitySensor: linear vel (i.e. "velocimeter") and/or angular vel ("gyroscope") sensor
- AccelerationSensor (i.e. "accelerometer"): linear and/or angular acceleration sensor
--- 33,36 ----
|