parameters: (self, win, sort = 20,
                        displayRegion = (0, 1, 0, 1), coords = (-1, 1, -1, 1),
                        lens = None, cameraName = None)
return_statement: return camera2dp
docstring: Makes a new camera2dp associated with the indicated window, and
          assigns it to render the indicated subrectangle of render2dp.
  
          :rtype: panda3d.core.NodePath
docstring_summary: Makes a new camera2dp associated with the indicated window, and
          assigns it to render the indicated subrectangle of render2dp.
docstring_tokens: Makes a new camera2dp associated with the indicated window and assigns it to render the indicated subrectangle of render2dp .
function: def makeCamera2dp(self, win, sort = 20,
                        displayRegion = (0, 1, 0, 1), coords = (-1, 1, -1, 1),
                        lens = None, cameraName = None):
          """
          Makes a new camera2dp associated with the indicated window, and
          assigns it to render the indicated subrectangle of render2dp.
  
          :rtype: panda3d.core.NodePath
          """
          dr = win.makeMonoDisplayRegion(*displayRegion)
          dr.setSort(sort)
  
          # Unlike render2d, we don't clear the depth buffer for
          # render2dp.  Caveat emptor.
  
          if hasattr(dr, 'setIncompleteRender'):
              dr.setIncompleteRender(False)
  
          left, right, bottom, top = coords
  
          # Now make a new Camera node.
          if cameraName:
              cam2dNode = Camera('cam2dp_' + cameraName)
          else:
              cam2dNode = Camera('cam2dp')
  
          if lens is None:
              lens = OrthographicLens()
              lens.setFilmSize(right - left, top - bottom)
              lens.setFilmOffset((right + left) * 0.5, (top + bottom) * 0.5)
              lens.setNearFar(-1000, 1000)
          cam2dNode.setLens(lens)
  
          # self.camera2d is the analog of self.camera, although it's
          # not as clear how useful it is.
          if self.camera2dp is None:
              self.camera2dp = self.render2dp.attachNewNode('camera2dp')
  
          camera2dp = self.camera2dp.attachNewNode(cam2dNode)
          dr.setCamera(camera2dp)
  
          if self.cam2dp is None:
              self.cam2dp = camera2dp
  
          return camera2dp
function_tokens: def makeCamera2dp ( self , win , sort = 20 , displayRegion = ( 0 , 1 , 0 , 1 ) , coords = ( - 1 , 1 , - 1 , 1 ) , lens = None , cameraName = None ) : dr = win . makeMonoDisplayRegion ( * displayRegion ) dr . setSort ( sort ) # Unlike render2d, we don't clear the depth buffer for # render2dp.  Caveat emptor. if hasattr ( dr , 'setIncompleteRender' ) : dr . setIncompleteRender ( False ) left , right , bottom , top = coords # Now make a new Camera node. if cameraName : cam2dNode = Camera ( 'cam2dp_' + cameraName ) else : cam2dNode = Camera ( 'cam2dp' ) if lens is None : lens = OrthographicLens ( ) lens . setFilmSize ( right - left , top - bottom ) lens . setFilmOffset ( ( right + left ) * 0.5 , ( top + bottom ) * 0.5 ) lens . setNearFar ( - 1000 , 1000 ) cam2dNode . setLens ( lens ) # self.camera2d is the analog of self.camera, although it's # not as clear how useful it is. if self . camera2dp is None : self . camera2dp = self . render2dp . attachNewNode ( 'camera2dp' ) camera2dp = self . camera2dp . attachNewNode ( cam2dNode ) dr . setCamera ( camera2dp ) if self . cam2dp is None : self . cam2dp = camera2dp return camera2dp