Source code for elastica.surface.surface_base

__doc__ = """Base class for surfaces"""
from typing import TYPE_CHECKING, Type

import numpy as np
from numpy.typing import NDArray


[docs] class SurfaceBase: """ Base class for all surfaces. Notes ----- All new surface classes must be derived from this SurfaceBase class. """ REQUISITE_MODULES: list[Type] = [] def __init__(self) -> None: """ SurfaceBase does not take any arguments. """ self.normal: NDArray[np.float64] # (3,) self.origin: NDArray[np.float64] # (3, 1)
if TYPE_CHECKING: from elastica.systems.protocol import StaticSystemProtocol _: StaticSystemProtocol = SurfaceBase()