Example #1
0
        /// <summary>
        /// Transform the position and orientation of the symbol.
        /// </summary>
        /// <param name="transform">affine transform</param>
        /// <returns>the transformed symbol (new instance)</returns>
        public AtomSymbol Transform(Transform transform)
        {
            List <TextOutline> transformedAdjuncts = new List <TextOutline>(adjuncts.Count);

            foreach (var adjunct in adjuncts)
            {
                transformedAdjuncts.Add(adjunct.Transform(transform));
            }
            List <TextOutline> transformedAnnAdjuncts = new List <TextOutline>(adjuncts.Count);

            foreach (var adjunct in annotationAdjuncts)
            {
                transformedAnnAdjuncts.Add(adjunct.Transform(transform));
            }
            return(new AtomSymbol(element.Transform(transform), transformedAdjuncts, transformedAnnAdjuncts, alignment, hull.Transform(transform)));
        }