View3D

3D view.

 

此处定义的方法如下:

addBookmark

addBookmark(self, name):

Adds the viewport's current location as a bookmark with the given name.

@param name: The name of the new bookmark.  [str]

@example:
# Creates a bookmark from current view
view = ce.get3DViews()[0]
view.addBookmark("view1")
# set camera details and store bookmark
view.setCameraPosition(-68,624,107)
view.setCameraRotation(-56, -88, 10)
view.setPoIDistance(390)
view.setCameraAngleOfView(55)
view.setCameraPerspective(True)
view.addBookmark("view2")

frame

frame(self, objects = None):

Frame the given objects.

@param objects: The objects to frame or null to frame all objects. (default  = None).

@example:
# Frame objects in scene
views = ce.getObjectsFrom(ce.get3DViews())
views[0].frame()

getBookmarks

getBookmarks(self):

Returns all the avoiable camera bookmarks.

@return: A list of the bookmarks defined in the current scene. [sequence]

@example:
# returns a list of all the current bookmarks
print "bookmarks: " + str(view.getBookmarks())

getCameraAngleOfView

getCameraAngleOfView(self):

Gets the camera angle of view in degrees.

@return: result. [float]

@example:
# get camera angle of view
print ce.get3DViews()[0].getCameraAngleOfView()

getCameraPerspective

getCameraPerspective(self):

Gets the camera perspective mode.

@return: result. [True/False]

@example:
# get camera perspective flag
print ce.get3DViews()[0].getCameraPerspective()

getCameraPoI

getCameraPoI(self):

Gets the camera point of interest in world coordinates.

@return: result. [sequence of float]

@example:
# get camera point of interest (focus point)
print ce.get3DViews()[0].getCameraPoI()

getCameraPosition

getCameraPosition(self):

Gets the camera position in world coordinates.

@return: result. [sequence of float]

@example:
# get camera position
print ce.get3DViews()[0].getCameraPosition()

getCameraRotation

getCameraRotation(self):

Gets the camera rotation in degrees.

@return: result. [sequence of float]

@example:
# get camera rotation
print ce.get3DViews()[0].getCameraRotation()

getRenderSettings

getRenderSettings(self):

Gets Render Settings.

@return: RenderSettings Object. [RenderSettings]

@example:
view = ce.getObjectsFrom(ce.get3DViews(), ce.isViewport)[0]
renderSettings = view.getRenderSettings()
print renderSettings.getMode()
print renderSettings.getWireframeOnShaded()
print renderSettings.getShadows()
print renderSettings.getAmbientOcclusion()
print renderSettings.getOnCameraLight()
print renderSettings.getSingleSidedLighting()
print renderSettings.getBackFaceCulling()
print renderSettings.getInfoDisplayVisible()
print renderSettings.getAxesVisible()
print renderSettings.getCompassVisible()
print renderSettings.getGridVisible()
print renderSettings.getGizmosVisible()

restoreBookmark

restoreBookmark(self, name, animate = True):

Sets the viewport's setting's to the specified bookmark.

@param name: The name camera bookmark to restore.  [str]
@param animate: If true, the camera smoothly moves to the new location. (default  = True). [True/False]

@example:
# Restores the bookmark with the given name.
view.restoreBookmark("view1")
# Restores the bookmark immediately (no camera animation)
view.restoreBookmark("init", False)

setCameraAngleOfView

setCameraAngleOfView(self, angle):

Sets the camera angle of view in degrees.

@param angle: Angle of view.  [float]

@example:
# set cameras angle fo view
ce.get3DViews()[0].setCameraAngleOfView(50)

setCameraPerspective

setCameraPerspective(self, perspective = True, animate = True):

Sets the camera to perspective mode.

@param perspective: Set camera to perspective mode. (default  = True). [True/False]
@param animate: If true, the camera smoothly moves to the new location. (default  = True). [True/False]

@example:
# set camera to orthographic mode
ce.get3DViews()[0].setCameraPerspective(False)

setCameraPoI

setCameraPoI(self, pos):

Sets the camera point of interest in world coordinates. Camera positioned using PoI and the PoI distance.

@param pos: [x, y, z] position of the camera's point of interest . [sequence]

@example:
# set camera point of interest, preserving PoI distance
ce.get3DViews()[0].setCameraPoI([-1650,0,-3500])

setCameraPosition

setCameraPosition(self, x, y, z):

Sets the camera position in world coordinates.

@param x: X coordinate.  [float]
@param y: Y coordinate.  [float]
@param z: Z coordinate.  [float]

@example:
# place camera at position (100,100,100)
views = ce.getObjectsFrom(ce.get3DViews(), ce.isViewport)
views[0].setCameraPosition(0, 200, 0)

setCameraRotation

setCameraRotation(self, x, y, z):

Sets the camera rotation in degrees.

@param x: X axis rotation.  [float]
@param y: Y axis rotation.  [float]
@param z: Z axis rotation.  [float]

@example:
# reset camera rotation
ce.get3DViews()[0].setCameraRotation(-15,0,0)

setPoIDistance

setPoIDistance(self, distance):

Sets the point of interest distance directly infront of the camera.

@param distance: Desired distance to the PoI.  [float]

@example:
# set distance to camera point of interest
ce.get3DViews()[0].setPoIDistance(2000)

setRenderSettings

setRenderSettings(self, settings):

Sets Render Settings.

@param settings: RenderSettings Object . [RenderSettings]

@example:
renderSettings = RenderSettings()
renderSettings.setMode(RenderSettings.MODE_SHADED)
renderSettings.setMode(RenderSettings.MODE_WIREFRAME)
renderSettings.setMode(RenderSettings.MODE_TEXTURED)
renderSettings.setWireframeOnShaded(True)
renderSettings.setShadows(True)
renderSettings.setAmbientOcclusion(True)
renderSettings.setOnCameraLight(True)
renderSettings.setSingleSidedLighting(True)
renderSettings.setBackFaceCulling(False)
renderSettings.setInfoDisplayVisible(True)
renderSettings.setAxesVisible(True)
renderSettings.setCompassVisible(True)
renderSettings.setGridVisible(True)
renderSettings.setGizmosVisible(True)
view = ce.getObjectsFrom(ce.get3DViews(), ce.isViewport)[0]
view.setRenderSettings(renderSettings)

snapshot

snapshot(self, filesystemPath, width = -1, height = -1):

Take a snapshot of this 3D viweport.

@param filesystemPath: Path to the destination image (must be a filesystem path).  [str]
@param width: Width of snapshot. (default  = -1). [int]
@param height: Height of snapshot. (default  = -1). [int]

@example:
# snapshot current inspector view
views = ce.getObjectsFrom(ce.get3DViews())
if len(views) < 1 : print "no view found"
else :
	views[0].frame()
	ce.waitForUIIdle()
	views[0].snapshot(ce.toFSPath('images')+"/snapshot.png")