1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
-- File: Voxel.cdl
-- Created: Sun May 04 09:39:16 2008
-- Author: Vladislav ROMASHKO
-- <vladislav.romashko@opencascade.com>
---Copyright: Open CASCADE S.A.
package Voxel
---Purpose: Data structuire and visualization engine for voxel modeling.
uses
IntCurvesFace,
TCollection,
SelectMgr,
Quantity,
TopTools,
TColStd,
TColgp,
TopoDS,
PrsMgr,
Prs3d,
Poly,
V3d,
AIS,
Bnd,
gp
is
enumeration VoxelDisplayMode is
VDM_POINTS,
VDM_NEARESTPOINTS,
VDM_BOXES,
VDM_NEARESTBOXES
end VoxelDisplayMode;
enumeration VoxelFileFormat is
VFF_ASCII,
VFF_BINARY
end VoxelFileFormat;
-- A base class for all voxels data structures.
class DS;
-- A voxel model keeping a boolean flag for each voxel (1 || 0).
class BoolDS;
-- A voxel model keeping a boolean flag for each voxel
-- with an opportunity to split a voxel into 8 sub-voxels.
class OctBoolDS;
-- A voxel model keeping a boolean flag for each voxel
-- with an opportunity to split a voxel into 8 sub-voxels
-- recursively.
class ROctBoolDS;
private class SplitData;
-- A voxel model keeping 4 bits of information for each voxel (16 colors).
class ColorDS;
-- A voxel model keeping 4 bytes of information for each voxel (a floating-point value).
class FloatDS;
-- A converter of a shape to voxel model.
--class Converter;
-- An internal class searching intersections between a line and a shape.
--class ShapeIntersector;
-- An alternative method of conversion of a shape into voxels.
-- It is faster, but less precise.
class FastConverter;
--- Converts voxels into triangulation
--class Triangulator;
-- Interactive object of voxels
class Prs;
-- Boolean operations for voxels.
class BooleanOperation;
-- Collision detection
class CollisionDetection;
-- Selection of voxels in the viewer 3d
class Selector;
-- Ascii writer/reader of voxels
class Writer;
class Reader;
end Voxel;
|