Skip to content
/ TICA Public

A cleaning & authoring tool for TM-based pipeline to construct indoor space models

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
License.txt
Notifications You must be signed in to change notification settings

STEMLab/TICA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TICA v0.2.2

TICA is a cleaning & authoring tool for TM-based pipeline to construct indoor space models.

Main features

  • Editing polygons (e.g. edit polygons, creating rooms, walls)
  • Annotating indoor features (doors, public safety features)

Prerequisites

  • OpenGL, GLEW, GLFW, libjpeg, ImGui
  • Tested on Visual Studio 2017 (Windows)

Quick Start

  • Install depdendencies with vcpkg
    • vcpkg install opengl glew glfw3 imgui libjpeg-turbo boost-uuid
  • Generate VS Project file with CMake GUI
    • Choose /src as source code folder
    • Choose /build as build folder
    • Click Configure
    • Click Generate
  • Build the project
    • Open the generated project file using Visual Studio
    • Set TICAv022 as start project
    • Build
    • If build fails with linking error, please add "bcrypt.lib" into Project Property > Linker > Input > Additional Dependencies
  • You can also use the pre-built binary files at /prebuilt

Usage

  • Camera Moving

    • W/S/A/D: Move forward/backward/left/right
    • T/G: Move up/down
    • Right Click: Camera rotation
    • Left Click: Select/deselect objects
  • Geometry Editor

    • Edit Polygons Mode
      • To create a vertex, Click in the middle of an edge.
      • To remove a vertex, press ESC key while dragging the vertex.
      • To create a facet, select one facet before click the "Edit Polygons" menu. Then you can see the grid representing the base plane containing the selected facet. Clicking on that plane will creates a facet.
      • Click "OK" button to quit the polygon editing mode.
    • Make a room.
      • Create a floor facet in "Edit Polygon" mode, and Click "OK" button.
      • Select the created floor facet.
      • Click "Make 2.5D Solid" menu.
      • Set the height by dragging up/down on the screen.
      • Click "OK" button.
    • Make a wall.
      • Select an edge.
      • Click "Make Wall."
      • Set the height by dragging up/down on the screen.
      • Click "OK" button.
    • Make Connection between facets
      • After selecting two facets, click "Make Connection."
      • Click on a facet will create a vertex sequentially.
      • Click "OK" button to finalize the connection editining.
    • Vertex Alignment
      • To make edge (u,v) parallel to edge (x,y)
        • Select edge (x,y) and vertices u,v.
        • Click "Make parallel" menu.
      • To make edge (u,v) perpendicular to edge (x,u).
        • Select edge (x,u) and vertex v.
        • Click "Make perpendicular" menu.
      • Selected edges and vertices should be those of a facet that is not adjacent to any other.
  • State Editor

    • After entering into the State Editor mode, the geometry becomes fixed, and connections are converted as a cellspace.
    • Edit State/Transition
    • Place Public Safety Features
      • Click "Place a Public Safety Feature" menu.
      • Choose a feature type (fire extinguisher, indoor hydrant).
      • Click the position to locate a public safety feature.
      • Clicked facet will be highlighted.
      • Click "OK" to finalize the current placement.
    • Interlayer Connection Editor
      • Select a state for a room or corridor.
      • Click "Interlayer Connection Editor" menu.
      • Select states of nonnavigables that belong to the selected room/corridor.
      • Selected states will be highlighted with yellow.
      • Click "OK" button to finalize the connection setting.
    • Export InFactory Queries
      • Export the current state as InFactory queries.
      • In the output file, each query is comprised of two lines:
        • Query URL
        • Json data
      • You can generate the corresponding IndoorGML file using the included Python script /script/request-infactory.py

Data file formats

  • Geometry (.geom)
    • If a facet has n vertices without any hole:
      • n 0
      • x1 y1 z1 i1
      • x2 y2 z2 i2
      • ...
      • xn yn zn in
      • (xj,yj,zj) is the coordinate and ij is the index number of vertex j.
    • If a facet has n vertices as its exterior and has h holes.
      • n h
      • xj yj zj ij ( * n lines)
      • h1 (=number of vertices of hole 1)
      • xj yj zj ij ( * h1 lines)
      • so on ...
  • Cubemap Texture info (.texinfo)
    • Each cubemap texture information consists of two lines indicating the paths of the texture image file and the camera pose file.
  • Obstacle List (.txt)
    • List of pcd file path.

About

A cleaning & authoring tool for TM-based pipeline to construct indoor space models

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
License.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •