Skip to content

max_temperature

MaxTemperature

Bases: AbsoluteObjectState, UpdateStateMixin

This state remembers the highest temperature reached by an object.

Source code in omnigibson/object_states/max_temperature.py
class MaxTemperature(AbsoluteObjectState, UpdateStateMixin):
    """
    This state remembers the highest temperature reached by an object.
    """

    @staticmethod
    def get_dependencies():
        return AbsoluteObjectState.get_dependencies() + [Temperature]

    def __init__(self, obj):
        super(MaxTemperature, self).__init__(obj)

        self.value = float("-inf")

    def _get_value(self):
        return self.value

    def _set_value(self, new_value):
        self.value = new_value
        return True

    def _update(self):
        self.value = max(self.obj.states[Temperature].get_value(), self.value)

    @property
    def state_size(self):
        return 1

    def _dump_state(self):
        return dict(max_temperature=self.value)

    def _load_state(self, state):
        self.value = state["max_temperature"]

    def _serialize(self, state):
        return np.array([state["max_temperature"]], dtype=float)

    def _deserialize(self, state):
        return dict(max_temperature=state[0]), 1