//point_to_transform : // 'point' 'your' body_part direction; public override Wrapper VisitPoint_to_transform(PreposeGesturesParser.Point_to_transformContext context) { var direction = (Direction)this.Visit(context.direction()); BodyTransform transform = new BodyTransform(); foreach (var b in context.body_part()) { var converted = (JointGroup)this.Visit(b); transform = transform.Compose(converted.Aggregate(j => BodyTransformBuilder.PointToTransform(j, direction))); } return(new Wrapper(transform)); }
/// <summary> /// Exit a parse tree produced by <see cref="PreposeGesturesParser.point_to_transform"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitPoint_to_transform([NotNull] PreposeGesturesParser.Point_to_transformContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="PreposeGesturesParser.point_to_transform"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitPoint_to_transform([NotNull] PreposeGesturesParser.Point_to_transformContext context) { return(VisitChildren(context)); }