public Support() { tag = Object3d.OBJ_SUPPORT; // tag for support m_supporting = null; this.Name = "Support_" + supcnt.ToString(); supcnt++; mSC = UVDLPApp.Instance().m_supportconfig.Clone(); // start off by cloing the app's defaults SubType = eSubType.eBase; m_seltype = eSelType.eWhole; }
/// <summary> /// Changing the subtype here will change the base from a flat /// bottom to a tip bottom and vice versa /// </summary> /// <param name="type"></param> private void ChangeSubType(eSubType type) { // may need to change the base to a base tip or flat base switch (type) { case eSubType.eBase: // simply scaling doesn't fix the 'damage' done by previous angling Point3d centroid = CalcCentroid(s1i, s2i); STranslateRange(-centroid.x, -centroid.y, -centroid.z, s1i, s2i); ReGenSegmentPoints(mSC.fbrad, mSC.cdivs, s1i, 0, true); ReGenSegmentPoints(mSC.ftrad, mSC.cdivs, s2i, 1, false); ReGenSegmentPoints(mSC.ftrad, mSC.cdivs, s3i, 1, false); STranslateRange(centroid.x, centroid.y, centroid.z, s1i, s4i); break; case eSubType.eIntra: ScaleLayer((float)mSC.htrad, s1i, s2i); //ScaleLayer(m_ftrad, s2i, s3i); break; } }