Skip to content

Commit 79801cc

Browse files
committed
Add ComputeCurvatures
1 parent 7157707 commit 79801cc

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

metafold/func.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,38 @@ def __call__(self, eval_: Evaluator) -> TypedResult[Literal[FuncType.FLOAT]]:
100100
return cast(TypedResult[Literal[FuncType.FLOAT]], r)
101101

102102

103+
class ComputeCurvatures_Parameters(TypedDict, total=False):
104+
105+
106+
class ComputeCurvatures(TypedFunc[Literal[FuncType.VEC3F]]):
107+
def __init__(
108+
self,
109+
samples: Func,
110+
parameters: Optional[ComputeCurvatures_Parameters] = None,
111+
):
112+
self.inputs: Optional[dict[str, Func]]
113+
self.inputs = {
114+
"Samples": samples,
115+
}
116+
self.assets: Optional[Assets]
117+
self.assets = None
118+
self.parameters = parameters
119+
120+
@cache
121+
def __call__(self, eval_: Evaluator) -> TypedResult[Literal[FuncType.VEC3F]]:
122+
inputs: Optional[Inputs] = None
123+
if self.inputs:
124+
inputs = dict((k, v(eval_)) for k, v in self.inputs.items())
125+
r = eval_(
126+
"ComputeCurvatures",
127+
inputs=inputs,
128+
assets=self.assets,
129+
# https://github.com/python/mypy/issues/4976#issuecomment-460971843
130+
parameters=cast(Optional[Params], self.parameters),
131+
)
132+
return cast(TypedResult[Literal[FuncType.VEC3F]], r)
133+
134+
103135
class ComputeNormals_Parameters(TypedDict, total=False):
104136
volume_offset: Vec3f
105137
volume_size: Vec3f

0 commit comments

Comments
 (0)