// Token: 0x06000219 RID: 537 RVA: 0x0000EB58 File Offset: 0x0000CD58
        private void GetAdditionalSegment(ItBar xmlBar, ItSegment prevSegment, out ItSegment additionalSegment, ItGeVector3d startDirection, ref bool flipFutureYs)
        {
            additionalSegment = null;
            bool flag = startDirection.isCodirectionalTo(prevSegment.XVector, null);

            if (!flag)
            {
                double num;
                double num2;
                this.GetRotationsInDegree(xmlBar.CurrentNormal, prevSegment, startDirection, ref flipFutureYs, out num, out num2);
                this.SetCurrentNormal(xmlBar, num, 0.0, prevSegment);
                ItGeVector3d itGeVector3d;
                ItGeVector3d yAxis;
                ItGeVector3d zAxis;
                this.GetNewDirections(num, num2, prevSegment, out itGeVector3d, out yAxis, out zAxis);
                ItDebug.assert(itGeVector3d.isCodirectionalTo(startDirection, null), "Failure in: ");
                double l = 0.0;
                double r = 0.0;
                num  = Math.Round(num, 10);
                num2 = Math.Round(num2, 10);
                ItGeMatrix3d kIdentity = ItGeMatrix3d.kIdentity;
                kIdentity.setCoordSystem(ItGePoint3d.kOrigin, startDirection, yAxis, zAxis);
                additionalSegment = new ItSegment(l, r, num, num2, kIdentity, "normal");
            }
        }
        // Token: 0x06000226 RID: 550 RVA: 0x0000F1DC File Offset: 0x0000D3DC
        private static double GetDistributionDirectionSign(ItGeVector3d distributionDirection, short angle)
        {
            bool   flag = distributionDirection.isCodirectionalTo(ItGeVector3d.kXAxis, null) || distributionDirection.isCodirectionalTo(ItGeVector3d.kYAxis, null);
            double num;

            if (flag)
            {
                num = 1.0;
            }
            else
            {
                bool flag2 = distributionDirection.isCodirectionalTo(-ItGeVector3d.kXAxis, null) || distributionDirection.isCodirectionalTo(-ItGeVector3d.kYAxis, null);
                if (flag2)
                {
                    num = -1.0;
                }
                else
                {
                    num = 0.0;
                }
            }
            return(num * ((angle == 0) ? 1.0 : ((double)Math.Sign(angle))));
        }