|
Our Solution
A library of functions
that meet the requirements for Modeling a Surface.
Tools
and Technologies
- Development tools: Visual Studio
with C++.
- Operating System: Microsoft
Windows NT
- Repository: Visual SourceSafe
Methodology
ESN has a well-defined Software Development Life
Cycle (SDLC) model that takes an iterative approach
in executing a project. Each build or milestone would
have incremental functionality. Builds/milestones are
scheduled so that obtaining specific requirements related
to the build/milestone, revision of project documents,
planning, thorough testing and bug fixing are carried
out incrementally.
This approach mitigates risks in
Project implementation.
One of the team members plays the
role of a Quality Analyst. The main activities of a
Quality Analyst are to review and update project documents,
organize testing activities and conduct regular code
reviews and code walkthroughs.
Designated Team Members work along
with the Quality Analyst as members of the testing team
continuously aiming to enhance the quality of the software
delivered.
Benefits
The advantage of this library is that it can be used
in a variety of applications such as plug-ins to packages
like AutoCAD and other software that has Surface Modeling
requirements.
|
Introduction
The library is about the creation of
a surface, 2-dimensional and 3-dimensional, through
a triangulated irregular network (TIN) using a set of
points representing the geographic locations.
Features
The
library has the following features:
General
- Process
the data collected from digital data station, process
them to get a codified data file (ASCII or binary)
and process them to get a TIN.
- Represent
the breaklines, ridges, boundaries, islands, etc.,
efficiently.
- Process
data of the order of 100,000 points in the least time
possible.
- Merging
of different surfaces, calculation of cut and fill
volumes
Building
- Build
a surface from a list of points with/without breaklines
ignoring the duplicate points.
- Build
a surface from a given list of contours (contour data
in the form of points)
Editing
- Insertion/Deletion
of a point inside/outside the surface with a given
coordinate. The TIN is dynamically updated
- Insertion
of breakline with a given set of vertices
- Deletion
of a triangulated line given its vertices. This updates
the TIN dynamically
- Flip
the face of a triangulated line given the vertices
of the line.
Advanced
- Make
a hole in a surface given a boundary of points
- Merge
two surfaces
- Creation
of ponds given a tri-dimensional boundary.
Miscellaneous
- Find
the height of a point inside the surface given its
coordinates
- Read/write
the surface information from/to a binary/ASCII file.
Our Process
We created the following while working on this library:
- Created
a requirements specification. Revised the document
based on reviews.
- Preparation
of the High-level document describing the functional
flow of the library of functions to be used.
- Preparation
of the Detailed Design giving the details of the function
prototypes, pseudocode etc.
- Implementing
the library
- Initial
testing of the implemented functionality
- Fixing
the bugs that were identified.
Conclusion
A library of functions
for creating the surface from a set of geographical
points obtained through digital stations was written.
This project is a case study of our expertise in the
development of triangulated irregular networks and surface
modeling.
|