class_docstr: Represents a point in 3-D space.
class_docstr_tok: ["Represents","a","point","in","3-D","space","."]
code: def __new__(cls, name, position=Vector.zero, parent_point=None):
      name = str(name)
      # Check the args first
      if not isinstance(position, Vector):
          raise TypeError(
              "position should be an instance of Vector, not %s"
              % type(position)
          )
      if (
          not isinstance(parent_point, Point)
          and parent_point is not None
      ):
          raise TypeError(
              "parent_point should be an instance of Point, not %s"
              % type(parent_point)
          )
      # Super class construction
      if parent_point is None:
          obj = super().__new__(cls, Str(name), position)
      else:
          obj = super().__new__(cls, Str(name), position, parent_point)
      # Decide the object parameters
      obj._name = name
      obj._pos = position
      if parent_point is None:
          obj._parent = None
          obj._root = obj
      else:
          obj._parent = parent_point
          obj._root = parent_point._root
      # Return object
      return obj
  
file_path: sympy/sympy/vector/point.py
imports: from sympy.core.basic import Basic
  from sympy.core.symbol import Str
  from sympy.vector.vector import Vector
  from sympy.vector.coordsysrect import CoordSys3D
  from sympy.vector.functions import _path
  from sympy.core.cache import cacheit
label_desc: Use image node_id 1 for calling the Point obj's underlying member method code with example usage: obj.__new__(cls, name, position, parent_point) and returns: obj