@staticmethod
def pos2d(node):
- p3d = base.cam.get_relative_point(node.node, Point3(0, 0, 0))
+ p3d = base.cam.get_relative_point(node, Point3(0, 0, 0))
p2d = Point2()
return p2d if base.camLens.project(p3d, p2d) else None
+ @staticmethod
+ def pos2d_p2d(node):
+ p3d = base.cam.get_relative_point(node, Point3(0, 0, 0))
+ p2d = Point2()
+ ret = p2d if base.camLens.project(p3d, p2d) else None
+ if ret:
+ n = NodePath('tmp')
+ rpos = (ret[0], 0, ret[1])
+ n.set_pos(rpos)
+ pos = n.get_pos(pixel2d)
+ return int(round(pos[0])), int(round(-pos[2]))
+
@staticmethod
def screen_coord(pos):
new_node = NodePath('temp')