You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
545B

  1. package template
  2. import "gopkg.in/Knetic/govaluate.v3"
  3. type Position struct {
  4. X *Value
  5. Y *Value
  6. Rotation *Value
  7. }
  8. func (p Position) evaluate(params govaluate.MapParameters, funcs map[string]govaluate.ExpressionFunction) (x, y, rotation float64, err error) {
  9. x, err = p.X.Evaluate(params, funcs)
  10. if err != nil {
  11. return 0, 0, 0, err
  12. }
  13. y, err = p.Y.Evaluate(params, funcs)
  14. if err != nil {
  15. return 0, 0, 0, err
  16. }
  17. rotation, err = p.Rotation.Evaluate(params, funcs)
  18. if err != nil {
  19. return 0, 0, 0, err
  20. }
  21. return
  22. }