Solved

Running c#

Posted on 2013-06-06
5
155 Views
Last Modified: 2013-06-12
Hi,

How  can I run the following c# code in a web page and get the result? the input file is
http://orion.math.iastate.edu/burkardt/data/stl/bottle.stl

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    public class Algorithm
    {
        private Mesh _mesh { get; set; }

        public Algorithm(Mesh mesh)
        {
            _mesh = mesh;
        }

        private double SignedVolumeOfTriangle(Vector3 p1, Vector3 p2, Vector3 p3)
        {
            var v321 = p3.X * p2.Y * p1.Z;
            var v231 = p2.X * p3.Y * p1.Z;
            var v312 = p3.X * p1.Y * p2.Z;
            var v132 = p1.X * p3.Y * p2.Z;
            var v213 = p2.X * p1.Y * p3.Z;
            var v123 = p1.X * p2.Y * p3.Z;
            return (1.0 / 6.0) * (-v321 + v231 + v312 - v132 - v213 + v123);
        }

        public double VolumeOfMesh()
        {
            double volume = 0.0;

            Vector3[] vertices = _mesh.Vertices;
            int[] triangles = _mesh.Triangles;

            for (int i = 0; i < _mesh.Triangles.Length; i += 3)
            {
                Vector3 p1 = vertices[triangles[i + 0]];
                Vector3 p2 = vertices[triangles[i + 1]];
                Vector3 p3 = vertices[triangles[i + 2]];

                volume += SignedVolumeOfTriangle(p1, p2, p3);
            }

            return Math.Abs(volume);
        }
    }

    public class Mesh
    {
        public Mesh(Vector3[] _vertices, int[] _triangles)
        {
            Vertices = _vertices;
            Triangles = _triangles;
        }

        public Vector3[] Vertices { get; set; }

        public int[] Triangles { get; set; }
    }


    public class Vector3
    {
        public Vector3(double x, double y, double z)
        {
            X = x;
            Y = y;
            Z = z;
        }

        public double X { get; set; }
        public double Y { get; set; }

        public double Z { get; set; }
    }
}

Open in new window


thanks

ayha
0
Comment
Question by:ayha1999
  • 2
  • 2
5 Comments
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 125 total points
ID: 39225333
create class library and add this class Algorithm to the library.
compile it and then add the dll to your web project.
0
 
LVL 7

Expert Comment

by:Alex_W
ID: 39225702
Then on your UI page you can call the functions in your class library to test it and step through the code if required.
0
 
LVL 7

Author Comment

by:ayha1999
ID: 39225890
How can I call the function in a page load event?
0
 
LVL 7

Accepted Solution

by:
Alex_W earned 125 total points
ID: 39225942
protected void Page_Load(object sender, EventArgs e)
    {
        ClassLibraryName.ClassName.PublicMethodName();
    }
0
 
LVL 7

Author Comment

by:ayha1999
ID: 39226009
This code is for calculating volume of stl files. where can I provide the stl file in the code?
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now