Panda3D
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties
Classes | Functions | Variables
direct.directtools.DirectManipulation Namespace Reference

Classes

class  DirectManipulationControl
 
class  ObjectHandles
 

Functions

def addTag
 
def disableManipulation
 
def disableWidgetMove
 
def drawBox
 
def drawMarquee
 
def enableManipulation
 
def enableWidgetMove
 
def followSelectedNodePathTask
 
def getEditTypes
 
def gridSnapping
 
def manipulateObject
 
def manipulateObjectCleanup
 
def manipulateObjectTask
 
def manipulationStart
 
def manipulationStop
 
def plantSelectedNodePath
 Utility functions ##. More...
 
def removeManipulateObjectTask
 
def removeTag
 
def rotate1D
 
def rotate2D
 
def rotateAboutViewVector
 
def scale1D
 
def scale3D
 
def scaleWidget
 ['. More...
 
def spawnFollowSelectedNodePathTask
 
def spawnManipulateObjectTask
 
def supportMultiView
 
def switchToLocalSpaceMode
 
def switchToMoveMode
 
def switchToWorldSpaceMode
 
def toggleObjectHandlesMode
 
def watchMarqueeTask
 
def watchMouseTask
 
def widgetCheck
 
def xlate1D
 WIDGET MANIPULATION METHODS ###. More...
 
def xlate2D
 
def xlateCamXY
 
def xlateCamXZ
 FREE MANIPULATION METHODS ###. More...
 

Variables

tuple bb = geom.getBounds()
 
tuple bbc = bb.makeCopy()
 
tuple boundingSphereTest = marqueeFrustum.contains(bbc)
 
 constraint
 
 currEditTypes
 
 deltaNearX
 
tuple entry = base.direct.iRay.pickGeom(skipFlags = skipFlags)
 
 fAllowSelectionOnly
 
 fHitInit
 
tuple fll = Point3(min[0], max[1], min[2])
 
tuple flr = Point3(max[0], max[1], min[2])
 
 fManip
 
 fMovable
 
 fMultiView
 
 frontViewWidget
 
 fScaleInit
 
 fScaleInit1
 
 fScaling1D
 
 fScaling3D
 
 fSetCoa
 
tuple ful = Point3(min[0], max[1], max[2])
 
 fur = max
 
 fWidgetTop
 
 hitPtDist
 
 hitPtScale
 
 initScale
 
 initScaleMag
 
 lastCrankAngle
 
 leftViewWidget
 
 marquee
 
 marqueeInfo
 
tuple max = Point3(0)
 
tuple min = Point3(0)
 
 mode
 
 moveDir
 
 nll = min
 
tuple nlr = Point3(max[0], min[1], min[2])
 
tuple nodePath = findTaggedNodePath(geom)
 elif (skipFlags & SKIP_BACKFACE) and base.direct.iRay.isEntryBackfacing():

Skip, if backfacing poly

pass More...
 
tuple nul = Point3(min[0], min[1], max[2])
 
tuple nur = Point3(max[0], min[1], max[2])
 
 origScale
 
 rotateAxis
 
 rotationCenter
 
tuple tbb = BoundingHexahedron(fll, flr, fur, ful, nll, nlr, nur, nul)
 
tuple tightBoundTest = marqueeFrustum.contains(tbb)
 
tuple tMat = Mat4(geom.getMat())
 
 topViewWidget
 
 widgetList
 
 worldSpaceManip
 
 xlateSF
 

Function Documentation

def direct.directtools.DirectManipulation.addTag (   self,
  tag 
)
def direct.directtools.DirectManipulation.disableManipulation (   self,
  allowSelectionOnly = False 
)
def direct.directtools.DirectManipulation.disableWidgetMove (   self)
def direct.directtools.DirectManipulation.drawBox (   lines,
  center,
  sideLength 
)
def direct.directtools.DirectManipulation.drawMarquee (   self,
  startX,
  startY 
)
def direct.directtools.DirectManipulation.enableManipulation (   self)
def direct.directtools.DirectManipulation.enableWidgetMove (   self)
def direct.directtools.DirectManipulation.followSelectedNodePathTask (   self,
  state 
)
def direct.directtools.DirectManipulation.getEditTypes (   self,
  objects 
)
def direct.directtools.DirectManipulation.gridSnapping (   self,
  nodePath,
  offset 
)
def direct.directtools.DirectManipulation.manipulateObject (   self)
def direct.directtools.DirectManipulation.manipulateObjectCleanup (   self)
def direct.directtools.DirectManipulation.manipulateObjectTask (   self,
  state 
)
def direct.directtools.DirectManipulation.manipulationStart (   self,
  modifiers 
)
def direct.directtools.DirectManipulation.manipulationStop (   self)
def direct.directtools.DirectManipulation.plantSelectedNodePath (   self)

Utility functions ##.

Move selected object to intersection point of cursor on scene 
def direct.directtools.DirectManipulation.removeManipulateObjectTask (   self)
def direct.directtools.DirectManipulation.removeTag (   self,
  tag 
)
def direct.directtools.DirectManipulation.rotate1D (   self,
  state 
)
def direct.directtools.DirectManipulation.rotate2D (   self,
  state 
)
Virtual trackball rotation of widget 
def direct.directtools.DirectManipulation.rotateAboutViewVector (   self,
  state 
)
def direct.directtools.DirectManipulation.scale1D (   self,
  state 
)
def direct.directtools.DirectManipulation.scale3D (   self,
  state 
)
def direct.directtools.DirectManipulation.scaleWidget (   self,
  factor 
)

['.

', self.objectHandles.multiplyScalingFactorBy, 2.0], ['>', self.objectHandles.multiplyScalingFactorBy, 2.0], [',', self.objectHandles.multiplyScalingFactorBy, 0.5], ['<', self.objectHandles.multiplyScalingFactorBy, 0.5],

def direct.directtools.DirectManipulation.spawnFollowSelectedNodePathTask (   self)
def direct.directtools.DirectManipulation.spawnManipulateObjectTask (   self)
def direct.directtools.DirectManipulation.supportMultiView (   self)
def direct.directtools.DirectManipulation.switchToLocalSpaceMode (   self)
def direct.directtools.DirectManipulation.switchToMoveMode (   self,
  state 
)
def direct.directtools.DirectManipulation.switchToWorldSpaceMode (   self)
def direct.directtools.DirectManipulation.toggleObjectHandlesMode (   self)
def direct.directtools.DirectManipulation.watchMarqueeTask (   self,
  state 
)
def direct.directtools.DirectManipulation.watchMouseTask (   self,
  state 
)
def direct.directtools.DirectManipulation.widgetCheck (   self,
  type 
)
def direct.directtools.DirectManipulation.xlate1D (   self,
  state 
)

WIDGET MANIPULATION METHODS ###.

def direct.directtools.DirectManipulation.xlate2D (   self,
  state 
)
def direct.directtools.DirectManipulation.xlateCamXY (   self,
  state 
)
Constrained 2D motion perpendicular to camera's image plane
This moves the object in the camera's XY plane if shift is held
Moves object toward camera if control is held
def direct.directtools.DirectManipulation.xlateCamXZ (   self,
  state 
)

FREE MANIPULATION METHODS ###.

Constrained 2D motion parallel to the camera's image plane
This moves the object in the camera's XZ plane

Variable Documentation

tuple bb = geom.getBounds()
tuple bbc = bb.makeCopy()
tuple boundingSphereTest = marqueeFrustum.contains(bbc)
constraint
currEditTypes
deltaNearX
tuple entry = base.direct.iRay.pickGeom(skipFlags = skipFlags)
fAllowSelectionOnly
fHitInit
tuple fll = Point3(min[0], max[1], min[2])
tuple flr = Point3(max[0], max[1], min[2])
fManip
fMovable
fMultiView
frontViewWidget
fScaleInit
fScaleInit1
fScaling1D
fScaling3D
fSetCoa
tuple ful = Point3(min[0], max[1], max[2])
fur = max
fWidgetTop
hitPtDist
hitPtScale
initScale
initScaleMag
lastCrankAngle
leftViewWidget
marquee
marqueeInfo
tuple max = Point3(0)
tuple min = Point3(0)
mode
moveDir
nll = min
tuple nlr = Point3(max[0], min[1], min[2])
tuple nodePath = findTaggedNodePath(geom)

elif (skipFlags & SKIP_BACKFACE) and base.direct.iRay.isEntryBackfacing():

Skip, if backfacing poly

pass

tuple nul = Point3(min[0], min[1], max[2])
tuple nur = Point3(max[0], min[1], max[2])
origScale
rotateAxis
rotationCenter
tuple tbb = BoundingHexahedron(fll, flr, fur, ful, nll, nlr, nur, nul)
tuple tightBoundTest = marqueeFrustum.contains(tbb)
tuple tMat = Mat4(geom.getMat())
topViewWidget
widgetList
worldSpaceManip
xlateSF