def getRotateDirection(self, direction_vector, euler_angle):
    np_direction_vector = np.array(direction_vector)
    direction_vector_norm = np.linalg.norm(np_direction_vector)
    if (direction_vector_norm == 0):
        print('[ERROR][Renderer::getRotateDirection]')
        print('\t direction_vector_norm is 0!')
        return None
    np_unit_direction_vector = (np_direction_vector / direction_vector_norm)
    rotation_matrix = self.getRotationMatrixFromEulerAngle(euler_angle)
    rotate_direction = np.dot(rotation_matrix, np_unit_direction_vector)
    return rotate_direction.tolist()
def getRotateDirection(self, direction_vector, euler_angle):
    np_direction_vector = np.array(direction_vector)
    direction_vector_norm = np.linalg.norm(np_direction_vector)
    if (direction_vector_norm == 0):
        print('[ERROR][Renderer::getRotateDirection]')
        print('\t direction_vector_norm is 0!')
        return None
    np_unit_direction_vector = (np_direction_vector / direction_vector_norm)
    rotation_matrix = self.getRotationMatrixFromEulerAngle(euler_angle)
    rotate_direction = np.dot(rotation_matrix, np_unit_direction_vector)
    return rotate_direction.tolist()