diff --git a/direct/src/directtools/DirectManipulation.py b/direct/src/directtools/DirectManipulation.py index ab5938c92c..1a76d55018 100644 --- a/direct/src/directtools/DirectManipulation.py +++ b/direct/src/directtools/DirectManipulation.py @@ -35,6 +35,7 @@ class DirectManipulationControl(PandaObject): ['shift-f', self.objectHandles.growToFit], ['i', self.plantSelectedNodePath], ] + self.optionalSkipFlags = 0 def manipulationStart(self, modifiers): # Start out in select mode @@ -86,8 +87,9 @@ class DirectManipulationControl(PandaObject): # depending on flag..... if self.mode == 'select': # Check for object under mouse - # Don't intersect with hidden or backfacing objects - skipFlags = SKIP_HIDDEN | SKIP_BACKFACE + # Don't intersect with hidden or backfacing objects, as well as any + # optionally specified things + skipFlags = SKIP_HIDDEN | SKIP_BACKFACE | self.optionalSkipFlags # Skip camera (and its children), unless control key is pressed skipFlags |= SKIP_CAMERA * (1 - base.getControl()) entry = direct.iRay.pickGeom(skipFlags = skipFlags)