Panda3D
Classes | Functions | Variables

Package directtools.DirectManipulation

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 ##.
def removeManipulateObjectTask
def removeTag
def rotate1D
def rotate2D
def rotateAboutViewVector
def scale1D
def scale3D
def scaleWidget
 ['.
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 ###.
def xlate2D
def xlateCamXY
def xlateCamXZ
 FREE MANIPULATION METHODS ###.

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

Utility functions ##.

Move selected object to intersection point of cursor on scene 
def directtools.DirectManipulation.removeManipulateObjectTask (   self)
def directtools.DirectManipulation.removeTag (   self,
  tag 
)
def directtools.DirectManipulation.rotate1D (   self,
  state 
)
def directtools.DirectManipulation.rotate2D (   self,
  state 
)
Virtual trackball rotation of widget 
def directtools.DirectManipulation.rotateAboutViewVector (   self,
  state 
)
def directtools.DirectManipulation.scale1D (   self,
  state 
)
def directtools.DirectManipulation.scale3D (   self,
  state 
)
def 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 directtools.DirectManipulation.spawnFollowSelectedNodePathTask (   self)
def directtools.DirectManipulation.spawnManipulateObjectTask (   self)
def directtools.DirectManipulation.supportMultiView (   self)
def directtools.DirectManipulation.switchToLocalSpaceMode (   self)
def directtools.DirectManipulation.switchToMoveMode (   self,
  state 
)
def directtools.DirectManipulation.switchToWorldSpaceMode (   self)
def directtools.DirectManipulation.toggleObjectHandlesMode (   self)
def directtools.DirectManipulation.watchMarqueeTask (   self,
  state 
)
def directtools.DirectManipulation.watchMouseTask (   self,
  state 
)
def directtools.DirectManipulation.widgetCheck (   self,
  type 
)
def directtools.DirectManipulation.xlate1D (   self,
  state 
)

WIDGET MANIPULATION METHODS ###.

def directtools.DirectManipulation.xlate2D (   self,
  state 
)
def 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 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)
tuple entry = base.direct.iRay.pickGeom(skipFlags = skipFlags)
tuple fll = Point3(min[0], max[1], min[2])
tuple flr = Point3(max[0], max[1], min[2])
tuple ful = Point3(min[0], max[1], max[2])
fur = max
tuple max = Point3(0)
tuple min = Point3(0)
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])
tuple tbb = BoundingHexahedron(fll, flr, fur, ful, nll, nlr, nur, nul)
tuple tightBoundTest = marqueeFrustum.contains(tbb)
tuple tMat = Mat4(geom.getMat())
 All Classes Namespaces Functions Variables Properties