Panda3D
Loading...
Searching...
No Matches
Classes | Functions | Variables
direct.directtools.DirectManipulation Namespace Reference

Classes

class  DirectManipulationControl
 
class  ObjectHandles
 

Functions

 addTag (self, tag)
 
 disableManipulation (self, allowSelectionOnly=False)
 
 disableWidgetMove (self)
 
 drawBox (lines, center, sideLength)
 
 drawMarquee (self, startX, startY)
 
 enableManipulation (self)
 
 enableWidgetMove (self)
 
 followSelectedNodePathTask (self, state)
 
 getEditTypes (self, objects)
 
 gridSnapping (self, nodePath, offset)
 
 manipulateObject (self)
 
 manipulateObjectCleanup (self)
 
 manipulateObjectTask (self, state)
 
 manipulationStart (self, modifiers)
 
 manipulationStop (self)
 
 plantSelectedNodePath (self)
 Utility functions ##.
 
 removeManipulateObjectTask (self)
 
 removeTag (self, tag)
 
 rotate1D (self, state)
 
 rotate2D (self, state)
 
 rotateAboutViewVector (self, state)
 
 scale1D (self, state)
 
 scale3D (self, state)
 
 scaleWidget (self, factor)
 
 spawnFollowSelectedNodePathTask (self)
 
 spawnManipulateObjectTask (self)
 
 supportMultiView (self)
 
 switchToLocalSpaceMode (self)
 
 switchToMoveMode (self, state)
 
 switchToWorldSpaceMode (self)
 
 toggleObjectHandlesMode (self)
 
 watchMarqueeTask (self, state)
 
 watchMouseTask (self, state)
 
 widgetCheck (self, type)
 
 xlate1D (self, state)
 WIDGET MANIPULATION METHODS ###.
 
 xlate2D (self, state)
 
 xlateCamXY (self, state)
 
 xlateCamXZ (self, state)
 FREE MANIPULATION METHODS ###.
 

Variables

 bb = geom.getBounds()
 
 bbc = bb.makeCopy()
 
 boundingSphereTest = marqueeFrustum.contains(bbc)
 
 constraint
 
 currEditTypes
 
 defaultSkipFlags
 ['.
 
 deltaNearX
 
 entry = base.direct.iRay.pickGeom(skipFlags = skipFlags)
 
 fAllowMarquee
 
 fAllowSelectionOnly
 
 fGridSnap
 
 fHitInit
 
 fll = Point3(min[0], max[1], min[2])
 
 flr = Point3(max[0], max[1], min[2])
 
 fManip
 
 fMovable
 
 fMultiView
 
 frontViewWidget
 
 fScaleInit
 
 fScaleInit1
 
 fScaling1D
 
 fScaling3D
 
 fSetCoa
 
 ful = Point3(min[0], max[1], max[2])
 
 fur = max
 
 fWidgetTop
 
 hitPt
 
 hitPtDist
 
 hitPtScale
 
 initScale
 
 initScaleMag
 
 lastCrankAngle
 
 leftViewWidget
 
 manipRef
 
 manipulationStart
 
 manipulationStop
 
 marquee
 
 marqueeInfo
 
 max = Point3(0)
 
 min = Point3(0)
 
 mode
 
 moveDir
 
 nll = min
 
 nlr = Point3(max[0], min[1], min[2])
 
 nodePath = findTaggedNodePath(geom)
 elif (skipFlags & SKIP_BACKFACE) and base.direct.iRay.isEntryBackfacing():
 
 nul = Point3(min[0], min[1], max[2])
 
 nur = Point3(max[0], min[1], max[2])
 
 optionalSkipFlags
 
 origScale
 
 rotateAxis
 
 rotationCenter
 
 switchToMoveMode
 
 tbb = BoundingHexahedron(fll, flr, fur, ful, nll, nlr, nur, nul)
 
 tightBoundTest = marqueeFrustum.contains(tbb)
 
 tMat = Mat4(geom.getMat())
 
 topViewWidget
 
 unmovableTagList
 
 widgetList
 
 worldSpaceManip
 
 xlateSF
 

Function Documentation

◆ addTag()

addTag ( self,
tag )

◆ disableManipulation()

disableManipulation ( self,
allowSelectionOnly = False )

◆ disableWidgetMove()

disableWidgetMove ( self)

◆ drawBox()

drawBox ( lines,
center,
sideLength )

◆ drawMarquee()

drawMarquee ( self,
startX,
startY )

◆ enableManipulation()

enableManipulation ( self)

◆ enableWidgetMove()

enableWidgetMove ( self)

◆ followSelectedNodePathTask()

followSelectedNodePathTask ( self,
state )

◆ getEditTypes()

getEditTypes ( self,
objects )

◆ gridSnapping()

gridSnapping ( self,
nodePath,
offset )

◆ manipulateObject()

manipulateObject ( self)

◆ manipulateObjectCleanup()

manipulateObjectCleanup ( self)

◆ manipulateObjectTask()

manipulateObjectTask ( self,
state )

◆ manipulationStart()

manipulationStart ( self,
modifiers )

◆ manipulationStop()

manipulationStop ( self)

◆ plantSelectedNodePath()

plantSelectedNodePath ( self)

Utility functions ##.

 Move selected object to intersection point of cursor on scene 

◆ removeManipulateObjectTask()

removeManipulateObjectTask ( self)

◆ removeTag()

removeTag ( self,
tag )

◆ rotate1D()

rotate1D ( self,
state )

◆ rotate2D()

rotate2D ( self,
state )
 Virtual trackball rotation of widget 

◆ rotateAboutViewVector()

rotateAboutViewVector ( self,
state )

◆ scale1D()

scale1D ( self,
state )

◆ scale3D()

scale3D ( self,
state )

◆ scaleWidget()

scaleWidget ( self,
factor )

◆ spawnFollowSelectedNodePathTask()

spawnFollowSelectedNodePathTask ( self)

◆ spawnManipulateObjectTask()

spawnManipulateObjectTask ( self)

◆ supportMultiView()

supportMultiView ( self)

◆ switchToLocalSpaceMode()

switchToLocalSpaceMode ( self)

◆ switchToMoveMode()

switchToMoveMode ( self,
state )

◆ switchToWorldSpaceMode()

switchToWorldSpaceMode ( self)

◆ toggleObjectHandlesMode()

toggleObjectHandlesMode ( self)

◆ watchMarqueeTask()

watchMarqueeTask ( self,
state )

◆ watchMouseTask()

watchMouseTask ( self,
state )

◆ widgetCheck()

widgetCheck ( self,
type )

◆ xlate1D()

xlate1D ( self,
state )

WIDGET MANIPULATION METHODS ###.

◆ xlate2D()

xlate2D ( self,
state )

◆ xlateCamXY()

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

◆ xlateCamXZ()

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

◆ bb

bb = geom.getBounds()

◆ bbc

bbc = bb.makeCopy()

◆ boundingSphereTest

boundingSphereTest = marqueeFrustum.contains(bbc)

◆ constraint

constraint

◆ currEditTypes

currEditTypes

◆ defaultSkipFlags

defaultSkipFlags

['.

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

◆ deltaNearX

deltaNearX

◆ entry

entry = base.direct.iRay.pickGeom(skipFlags = skipFlags)

◆ fAllowMarquee

fAllowMarquee

◆ fAllowSelectionOnly

fAllowSelectionOnly

◆ fGridSnap

fGridSnap

◆ fHitInit

fHitInit

◆ fll

fll = Point3(min[0], max[1], min[2])

◆ flr

flr = Point3(max[0], max[1], min[2])

◆ fManip

fManip

◆ fMovable

fMovable

◆ fMultiView

fMultiView

◆ frontViewWidget

frontViewWidget

◆ fScaleInit

fScaleInit

◆ fScaleInit1

fScaleInit1

◆ fScaling1D

fScaling1D

◆ fScaling3D

fScaling3D

◆ fSetCoa

fSetCoa

◆ ful

ful = Point3(min[0], max[1], max[2])

◆ fur

fur = max

◆ fWidgetTop

fWidgetTop

◆ hitPt

hitPt

◆ hitPtDist

hitPtDist

◆ hitPtScale

hitPtScale

◆ initScale

initScale

◆ initScaleMag

initScaleMag

◆ lastCrankAngle

lastCrankAngle

◆ leftViewWidget

leftViewWidget

◆ manipRef

manipRef

◆ manipulationStart

manipulationStart

◆ manipulationStop

manipulationStop

◆ marquee

marquee

◆ marqueeInfo

marqueeInfo

◆ max

max = Point3(0)

◆ min

min = Point3(0)

◆ mode

mode

◆ moveDir

moveDir

◆ nll

nll = min

◆ nlr

nlr = Point3(max[0], min[1], min[2])

◆ nodePath

nodePath = findTaggedNodePath(geom)

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

Skip, if backfacing poly

pass

◆ nul

nul = Point3(min[0], min[1], max[2])

◆ nur

nur = Point3(max[0], min[1], max[2])

◆ optionalSkipFlags

optionalSkipFlags

◆ origScale

origScale

◆ rotateAxis

rotateAxis

◆ rotationCenter

rotationCenter

◆ switchToMoveMode

switchToMoveMode

◆ tbb

◆ tightBoundTest

tightBoundTest = marqueeFrustum.contains(tbb)

◆ tMat

tMat = Mat4(geom.getMat())

◆ topViewWidget

topViewWidget

◆ unmovableTagList

unmovableTagList

◆ widgetList

widgetList

◆ worldSpaceManip

worldSpaceManip

◆ xlateSF

xlateSF