GithubHelp home page GithubHelp logo

benzap / mappt-editor Goto Github PK

View Code? Open in Web Editor NEW
0.0 4.0 0.0 11.88 MB

Used to map out pathways and lay out areas of a map for path finding

License: Eclipse Public License 1.0

Python 10.77% Clojure 83.54% CSS 5.70%

mappt-editor's Introduction

Mappt Editor Readme

d#+AUTHOR: Benjamin Zaporzan

Introduction

Mappt is an application to build maps with intelligent routing capabilitites

Programming Tasks

mappt backend [0%]

  • [ ] Begin work on the design
  • [ ] Decide on a database schema

Mappt Specification [%]

  • [ ] Develop JSON Sample specification

mappt web frontend [%]

  • [ ] Develop Design for frontend application

libmappt

Mappt Specification

Definitions

Mappt

name
The name of our current map that we’d like to traverse. ex. “Ohio Regional Hospital” if we were developing a layout for that particular hospital
maps
a dictionary list consisting of all of the maps that make up the current application.
name
The name of the particular map within the set of maps
description
a unique description describing info about this map. ex. First floor of shuniah building
mapid
A GUID to uniquely identify this map
points
Traversal points to represent within Map Units.
pointid
A GUID to uniquely identify this point
x
the x dimension for the given point
y
the y dimension for the given point
z
the z dimension for the given point
images
maps consist of images.
ref
A reference to the location of the given file. Supported formats have not been determined
scale
The scale of the given image in order to determine it’s representation in Map Units.
position
The position of the image relative to the dimensions of the map.
rotation
the rotation of the given image relative to the map. Expressed in quaternions.
dimensions
The dimensions of the given map. This determines how many units the map makes up in Map Units.
links
links make up the connections between points in the given map. It forms a relation between them.
first
Guid representing the first point
second
Guid representing the second point
entrances
the relationship between two points between any two given maps. They can be thought of as ‘global’ links
first
Guid representing the first point
second
Guid representing the second point

Json Sample

mappt : {
    name : ":String",
    maps : [{
        name : ":String",
        description : ":String",
        mapid : ":Guid",
        points : [{
            pointid : ":Guid",
            x : ":Float",
            y : ":Float",
            z : ":Float",
            tags : {
                ":String" : ":Any",
                    ...
            },
        }],
        images : [{
            ref : ":FileUri",
            scale : [:Float, :Float, :Float],
            position : [:Float, :Float, :Float],
            rotation : [:Float, :Float, :Float, :Float],
            
        }],
        dimensions : [:Float, :Float, :Float],
        links : [{
            first : ":Guid",
            second : ":Guid",
        }],
    }],
    entrances : [{
        first : ":Guid",
        second : ":Guid",
    }],    
}

XML Sample

<mappt>
  <name>Example</name>
  <maps>
    <map mapid="0000-0000-0000-0000">
      <name>Map Name</name>
      <description>Here is a description</description>
      <points>
        <point pointid="0000-0000-0000-0000">
          <position x="0.0" y="0.0" z="0.0"></position>
          <tags>
            <tag key="someKey" value="someValue"></tag>
          </tags>
        </point>
      </points>
      <images>
        <image ref="./somefile">
          <scale x="0.0" y="0.0" z="0.0"></scale>
          <position x="0.0" y="0.0" z="0.0"></position>
          <rotation i="0.0" j="0.0" z="0.0" w="0.0"></rotation>
        </image>
      </images>
      <dimensions>
        <position x="0.0" y="0.0" z="0.0"></position>
      </dimensions>
      <links>
        <link first="0000-0000-0000-0000" second="0000-0000-0000-0000"></link>
      </links>
    </map>
  </maps>
  <entrances>
    <entrance first="0000-0000-0000-0000" second="0000-0000-0000-0000"></entrance>
  </entrances>
</mappt>

Gui Application

Notes

  • using clojure, should I use clojurescript for the frontend, or stick to javascript?

Programming Tasks

Develop the base project.clj file

  • make sure that the development environment is painless to work with. Who wants to spend hours working in an environment that is annoying to work in?

Canvas Protocol

Need a protocol for manipulating the canvas. The main advantage to doing it this way, is to separate out drawing logic from the data

draw map

mappt-editor's People

Contributors

benzap avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.