89 lines
2.1 KiB
Python
89 lines
2.1 KiB
Python
import math
|
|
|
|
from ...components.fields import Field
|
|
from ...components.tree import TREE_TRIGONOMETRY
|
|
|
|
|
|
class SinNode:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(self):
|
|
return {
|
|
"required": {
|
|
"value": Field.float(),
|
|
"type_": Field.combo(["RAD", "DEG"]),
|
|
"arcSin": Field.combo([False, True])
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("FLOAT",)
|
|
FUNCTION = "get_value"
|
|
CATEGORY = TREE_TRIGONOMETRY
|
|
|
|
def get_value(self, value, type_="RAD", arcSin=False):
|
|
if type_ == "DEG":
|
|
value = math.radians(value)
|
|
if arcSin == True:
|
|
value = math.asin(value)
|
|
else:
|
|
value = math.sin(value)
|
|
return (value,)
|
|
|
|
|
|
class CosNode:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(self):
|
|
return {
|
|
"required": {
|
|
"value": Field.float(),
|
|
"type_": Field.combo(["RAD", "DEG"],),
|
|
"arcCos": Field.combo([False, True],)
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("FLOAT",)
|
|
FUNCTION = "get_value"
|
|
CATEGORY = TREE_TRIGONOMETRY
|
|
|
|
def get_value(self, value, type_="RAD", arcCos=False):
|
|
if type_ == "DEG":
|
|
value = math.radians(value)
|
|
if arcCos == True:
|
|
value = math.acos(value)
|
|
else:
|
|
value = math.cos(value)
|
|
return (value,)
|
|
|
|
|
|
class tgNode:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(self):
|
|
return {
|
|
"required": {
|
|
"value": Field.float(),
|
|
"type_": Field.combo(["RAD", "DEG"],),
|
|
"arcTan": Field.combo([False, True],)
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("FLOAT",)
|
|
FUNCTION = "get_value"
|
|
CATEGORY = TREE_TRIGONOMETRY
|
|
|
|
def get_value(self, value, type_="RAD", arcTan=False):
|
|
if type_ == "DEG":
|
|
value = math.radians(value)
|
|
if arcTan == True:
|
|
value = math.atan(value)
|
|
else:
|
|
value = math.tan(value)
|
|
return (value,)
|