Project

General

Profile

Download (3.32 KB) Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / mesh / MeshFile.java @ ccb4c899

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
package org.distorted.library.mesh;
21

    
22
import java.io.DataInputStream;
23

    
24
///////////////////////////////////////////////////////////////////////////////////////////////////
25
/**
26
 * Read a file in our mesh format, 'dmesh' and create a Mesh from that.
27
 * <p>
28
 * Such a file must have been created with help of MeshBase.write().
29
 */
30
public class MeshFile extends MeshBase
31
{
32
   private int mBytes;
33

    
34
///////////////////////////////////////////////////////////////////////////////////////////////////
35
/**
36
 * Read mesh description from a file.
37
 * <p>
38
 * File format: as written by MeshBase.write().
39
 */
40
  public MeshFile(DataInputStream stream)
41
    {
42
    super();
43

    
44
    mBytes = read(stream);
45
    }
46

    
47
///////////////////////////////////////////////////////////////////////////////////////////////////
48
/**
49
 * Copy constructor.
50
 */
51
  public MeshFile(MeshFile mesh, boolean deep)
52
   {
53
   super(mesh,deep);
54
   }
55

    
56
///////////////////////////////////////////////////////////////////////////////////////////////////
57
/**
58
 * Copy the Mesh.
59
 *
60
 * @param deep If to be a deep or shallow copy of mVertAttribs1, i.e. the array holding vertices,
61
 *             normals and inflates (the rest, in particular the mVertAttribs2 containing texture
62
 *             coordinates and effect associations, is always deep copied)
63
 */
64
  public MeshFile copy(boolean deep)
65
   {
66
   return new MeshFile(this,deep);
67
   }
68

    
69
///////////////////////////////////////////////////////////////////////////////////////////////////
70
/**
71
 * Return number of bytes read from the mesh file.
72
 */
73
  public int getNumBytes()
74
    {
75
    return mBytes;
76
    }
77
}
(4-4/10)