MathSculptorAddinSample
Revision as of 09:40, 14 July 2007 by Burhop Piccard (talk | contribs) (New page: The Example below is a very basic sample Addin for Math Sculptor. It has only one dependency which is the ISculptAddin which has not dependencies beyond Microsoft .NET 2.0. ISculptAddin s...)
The Example below is a very basic sample Addin for Math Sculptor. It has only one dependency which is the ISculptAddin which has not dependencies beyond Microsoft .NET 2.0. ISculptAddin source can be found at MathSculptorInterface
using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Resources; using Burhop.MathSculptor; namespace SampleAddin { public class SampleAddin : ISculptAddin { int radius1; int radius2; #region ISculptAddin Members public string Description { get { return "Creates shapes based off a circle whose radius can be modified"; } } public System.Drawing.Image IconImage { get { return global::SampleAddin.Properties.Resources.SampleAddinImage; } } public string LongDescription { get { return "This basic addin shows how to create your our DLLs for your own more unique sculptured primitives."; } } public List<ISculptParam> Params { get { List<ISculptParam> pList = new List<ISculptParam>(); SculptParam<int> radius1 = new SculptParam<int>(); SculptParam<int> radius2 = new SculptParam<int>(); //Param 1 radius1.Name = "X Radius"; radius1.Value = 100; radius1.LowValue = 0; radius1.HighValue = 127; //Param 2 radius2.Name = "Y Radius"; radius2.Value = 100; radius2.LowValue = 0; radius2.HighValue = 127; pList.Add(radius1); pList.Add(radius2); return pList; } set { SculptParam<int> iParam; iParam = value[0] as SculptParam<int>; radius1 = iParam.Value; iParam = value[1] as SculptParam<int>; radius2 = iParam.Value; } } public xyz getXYZ(double u, double v) { xyz result; //A Cylinder result.x = (byte)(radius1 * Math.Sin(u * 2 * Math.PI) + 127); result.y = (byte)(radius2 * Math.Cos(u * 2 * Math.PI) + 127); result.z = (byte)(v * 256); return result; } #endregion } }