예제 #1
0
        Stream(ArrayList data, RebarShapeDefinition rebarShapeDef)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(RebarShapeDefinition)));

            data.Add(new Snoop.Data.Bool("Complete", rebarShapeDef.Complete)); // TBD: should be "IsComplete?"
            data.Add(new Snoop.Data.Bool("IsPlanar", rebarShapeDef.IsPlanar));

            // Get Parameters
            data.Add(new Snoop.Data.CategorySeparator("RebarShape Definition Segments"));
            data.Add(new Snoop.Data.Enumerable("Parameters", rebarShapeDef.GetParameters()));

            RebarShapeDefinitionByArc rebarShapeDefByArc = rebarShapeDef as RebarShapeDefinitionByArc;

            if (rebarShapeDefByArc != null)
            {
                Stream(data, rebarShapeDefByArc);
                return;
            }

            RebarShapeDefinitionBySegments rebarShapeDefBySegs = rebarShapeDef as RebarShapeDefinitionBySegments;

            if (rebarShapeDefBySegs != null)
            {
                Stream(data, rebarShapeDefBySegs);
                return;
            }
        }
        private void Stream(ArrayList data, RebarShapeDefinition rebarShapeDef)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(RebarShapeDefinition)));

             data.Add(new Snoop.Data.Bool("Complete", rebarShapeDef.Complete));    // TBD: should be "IsComplete?"
             data.Add(new Snoop.Data.Bool("IsPlanar", rebarShapeDef.IsPlanar));

             // Get Parameters
             data.Add(new Snoop.Data.CategorySeparator("RebarShape Definition Segments"));
             data.Add(new Snoop.Data.Enumerable("Parameters", rebarShapeDef.GetParameters()));

             RebarShapeDefinitionByArc rebarShapeDefByArc = rebarShapeDef as RebarShapeDefinitionByArc;
             if (rebarShapeDefByArc != null)
             {
            Stream(data, rebarShapeDefByArc);
            return;
             }

             RebarShapeDefinitionBySegments rebarShapeDefBySegs = rebarShapeDef as RebarShapeDefinitionBySegments;
             if (rebarShapeDefBySegs != null)
             {
            Stream(data, rebarShapeDefBySegs);
            return;
             }
        }