Alphabetical Class Index
Class Hierarchy
Compound Members
File Members
File List
Dev_Tools
base_stream
source
stream_common
BPointCloud.h
1
// Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
2
//
3
// The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4
// and considered a trade secret as defined under civil and criminal statutes.
5
// Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6
// unauthorized use or misappropriation of its trade secrets. Use of this information
7
// by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8
// a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9
10
#ifndef BBINFILETK_BPOINTCLOUD
11
#define BBINFILETK_BPOINTCLOUD
12
#include "BStreamFileToolkit.h"
13
14
15
#ifndef DOXYGEN_SHOULD_SKIP_THIS
16
21
class
BPointCloud
22
#ifdef HPS_CORE_BUILD
23
:
public
CMO
24
#endif
25
{
26
private
:
27
class
BKDTree *m_kd;
//private helper class defined in BPointCloud.cpp
28
class
BStreamFileToolkit
*m_tk;
29
int
m_resolution;
//total bits per vertex, i.e. 3 * bits_per_sample
30
int
m_max_val;
//(1 << bits_per_sample) - 1
31
float
m_bbox[6];
32
float
m_cell_size[3];
//bbox size / m_max_val
33
int
m_original_point_count;
//the number of points in the original shell (and hence the point map length)
34
int
m_point_count;
//the number of unique points (possibly less than original shell)
35
float
*m_points;
//points list, stored in the order intrinsic to the kd tree, not the original shell
36
int
*m_point_map;
37
int
m_next_id;
38
unsigned
char
m_scheme;
//format identifier
39
40
void
put(
class
BKDTree *kd,
class
BPack *pack,
int
num_bits );
41
TK_Status
get
(
class
BKDTree *b,
class
BPack *pack,
int
num_bits,
int
i,
int
j,
int
k,
int
span );
42
43
44
public
:
46
BPointCloud(
class
BStreamFileToolkit
*tk );
47
~BPointCloud();
48
50
enum
scheme {
51
TKPC_Explicit = 0x0001
52
};
53
54
//write time functions
55
TK_Status
InitWrite(
int
resolution,
const
float
*bbox,
int
original_point_count,
const
float
*points );
56
int
GetSizeUpperBound()
const
;
57
void
Generate(
unsigned
char
*buffer,
int
bytes_allocated,
int
*bytes_used );
58
59
//read time functions
60
TK_Status
InitRead(
int
resolution,
const
float
*bbox,
int
original_point_count );
61
TK_Status
Parse(
const
unsigned
char
*buffer,
int
size );
62
TK_Status
GetPoints(
float
*points );
63
64
};
65
66
#endif
/* DOXYGEN_SHOULD_SKIP_THIS */
67
#endif
/* BBINFILETK_BPOINTCLOUD */
68
69
BStreamFileToolkit
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition:
BStreamFileToolkit.h:367
TK_Status
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition:
BStream.h:242