Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Initial Version and Version 1 of ~archive/mountpoints


Ignore:
Timestamp:
Nov 28, 2007, 1:04:17 AM (17 years ago)
Author:
landauf
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ~archive/mountpoints

    v1 v1  
     1= Mount Points =
     2[[ArchivePage]]
     3
     4== Author ==
     5Patrick Boenzli
     6
     7
     8== Tickets ==
     9 * #63
     10
     11== Resources ==
     12 * [http://www.fileformat.info/format/wavefrontobj/ fileformat] (short)
     13 * [http://www.robthebloke.org/source/obj.html fileformat] (short)
     14 * [http://www.martinreddy.net/gfx/3d/OBJ.spec fileformat] (everything) from alias itself
     15 * [http://www.csit.fsu.edu/~burkardt/data/obj/obj.html programming resources]
     16
     17
     18== Goal ==
     19This project's goal is to add a possibility to the .obj model to make mount-points. These points allow a modler to mark certain points on a model, these points can then be used to connect other objects. The mapping between mount points and objects is defined in a seperate file: the object-information-file (.oif).
     20
     21
     22== Timetable ==
     23(Thx to [FabianLandau x3n] for the nice progross'o'meter images :D )
     24
     25|| Date              || Topic                                                                               || Progress ||
     26|| 22. Nov || || ||
     27|| 29. Nov || || ||
     28|| 6. Dec  || Reading in the .obj file specification and find a way to mark objects, Implement the object parser  || https://dev.orxonox.net/attachment/wiki/SpaceStationInterior/70percent.gif?format=raw||
     29|| 13. Dec || Implement the .oif file format and integrate it to orxonox || https://dev.orxonox.net/attachment/wiki/SpaceStationInterior/70percent.gif?format=raw||
     30|| 20. Dec || Adapt WorldEntity to integrate this new model features || https://dev.orxonox.net/attachment/wiki/SpaceStationInterior/70percent.gif?format=raw ||
     31|| 3. Jan  || Test and debug || https://dev.orxonox.net/attachment/wiki/SpaceStationInterior/0percent.gif?format=raw ||
     32|| 10. Jan || Project finish ||https://dev.orxonox.net/attachment/wiki/SpaceStationInterior/0percent.gif?format=raw ||
     33|| 17. Jan ||  ||
     34|| 24. Jan ||  ||
     35|| 31. Jan ||  ||
     36
     37[[br]]
     38[[br]]
     39
     40
     41== UML Diagram ==
     42
     43{{{
     44#!html
     45<a href="https://dev.orxonox.net/attachment/wiki/mountpoints/mount_point_project.png?format=raw" target="_blank"><img src="https://dev.orxonox.net/attachment/wiki/mountpoints/mount_point_project.png?format=raw" width="320" alt="UML Diagram" /><br />
     46<small>Click for larger image</small></a><br />
     47}}}
     48
     49
     50[[br]]
     51[[br]]
     52
     53== User Reference Alpha ==
     54You are able to define !MountPoints that can be connected to any object you like. You will do this by:
     55 * adding mount-point-models of any size to the object. Each point '''must''' be in its own group
     56 * '''naming''' these cubes MP.<NR>.<NAME> (replace <NR> by a two digit number you like to refere to and <NAME> by an arbitrary name). For example: MP.00.Turret or MP.01.Engine1
     57 * the mount-point-models must be at the position where you want the objects to be added.
     58 * orient the mount-point-models as you like it (shortest axis marks up-vector, 2nd shortest axis marks left, longest axis marks forward)
     59
     60Now the mounting points are set. You will need to define the properties of these mounting points in a seperate information file: !ObjectInformationFile (.oif).
     61An oif file could look like this:
     62
     63{{{
     64<ObjectInformationFile>
     65
     66<MountPoints>
     67  <MP.00.Turret>
     68    <Description>Turret slots</Description>
     69    <OrxClass>DamnBigGun</OrxClass>
     70    <Details>
     71      <name>Front Gun</name>
     72      <model>some model path</model>
     73    </Details>
     74  </MP.00.Turret>
     75
     76  <MP.01.Engine1>
     77    <Description>Engine slots for the space craft</Description>
     78    <OrxClass>Engine</OrxClass>
     79  </MP.01.Engine1>
     80</MountPoints>
     81
     82</ObjectInformationFile>
     83
     84}}}
     85In order for the oif file to be loaded, it must be specified in the tags of the [wiki:archive/WorldEntity WorldEntity] in the world xml file, eg:
     86{{{
     87
     88<WorldEntities>
     89...
     90
     91   <SpaceShip>
     92      ...
     93      <mountpoints>models/ships/default.oif</mountpoints>
     94      ...
     95   </SpaceShip>
     96
     97...
     98</WorldEntities>
     99
     100}}}
     101
     102For each mount point defined in the model there needs to be an entry in the .oif file with the same name (e.g. MP.00.Turret). Each mount point can define further properties:[[br]]
     103 * {{{OrxClass}}} - defines the Orxonox class to create an object from and replace the mounting point with it ('''required'''). the class needs to be a fabricateable class.
     104 * {{{Description}}} - a string describing this mount point (optional)
     105 * {{{Details}}} - this opens a subsection: here you can add all the xml properties usualy possible for the world entity you are adding
     106
     107
     108
     109
     110