RenderMan API  23.0
brickmap.h
Go to the documentation of this file.
1 /*
2 # ------------------------------------------------------------------------------
3 #
4 # Copyright (c) 1986-2019 Pixar. All rights reserved.
5 #
6 # The information in this file (the "Software") is provided for the exclusive
7 # use of the software licensees of Pixar ("Licensees"). Licensees have the
8 # right to incorporate the Software into other products for use by other
9 # authorized software licensees of Pixar, without fee. Except as expressly
10 # permitted herein, the Software may not be disclosed to third parties, copied
11 # or duplicated in any form, in whole or in part, without the prior written
12 # permission of Pixar.
13 #
14 # The copyright notices in the Software and this entire statement, including the
15 # above license grant, this restriction and the following disclaimer, must be
16 # included in all copies of the Software, in whole or in part, and all permitted
17 # derivative works of the Software, unless such copies or derivative works are
18 # solely in the form of machine-executable object code generated by a source
19 # language processor.
20 #
21 # PIXAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL PIXAR BE
23 # LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
25 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
26 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. IN NO CASE WILL
27 # PIXAR'S TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
28 # THE USE OR PERFORMANCE OF THIS SOFTWARE EXCEED $50.
29 #
30 # Pixar
31 # 1200 Park Ave
32 # Emeryville CA 94608
33 #
34 # ------------------------------------------------------------------------------
35 */
36 
37 
38 #ifndef _BRICKMAP_H_
39 #define _BRICKMAP_H_
40 
41 #include "prmanapi.h" // for PRMANAPI
42 
43 typedef void* BkmBrickMap;
44 typedef void* BkmBrickMapNode; // was unsigned int in API version 2
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
50 /* Brick map API version number */
51 #define RMAN_BRICKMAP_API_VERSION 3
52 
53 /* Brick map API */
54 PRMANAPI extern BkmBrickMap BkmOpenBrickMapFile(char* filename);
55 PRMANAPI extern int BkmGetBrickMapInfo(
56  BkmBrickMap brickmap,
57  char const* request,
58  void* result);
59 PRMANAPI extern int BkmGetOctreeRoots(
60  BkmBrickMap brickmap,
61  BkmBrickMapNode roots[7]);
63  BkmBrickMapNode node,
64  BkmBrickMapNode children[8]);
66  BkmBrickMap brickmap, // new param!
67  BkmBrickMapNode node,
68  BkmBrickMapNode children[8]);
69 PRMANAPI extern int BkmGetVoxelData(
70  BkmBrickMap brickmap,
71  BkmBrickMapNode node,
72  int imin,
73  int jmin,
74  int kmin,
75  int imax,
76  int jmax,
77  int kmax,
78  int* nvoxels,
79  int* voxelnumbers,
80  int* voxelhasdata, // (redundant, but useful)
81  float* voxeldata);
82 PRMANAPI extern void BkmCloseBrickMapFile(BkmBrickMap brickmap);
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* _BRICKMAP_H_ */
PRMANAPI int BkmGetOctreeChildrenList(BkmBrickMap brickmap, BkmBrickMapNode node, BkmBrickMapNode children[8])
PRMANAPI void BkmCloseBrickMapFile(BkmBrickMap brickmap)
#define PRMANAPI
Definition: prmanapi.h:111
PRMANAPI BkmBrickMap BkmOpenBrickMapFile(char *filename)
void * BkmBrickMap
Definition: brickmap.h:43
PRMANAPI int BkmGetOctreeChildren(BkmBrickMapNode node, BkmBrickMapNode children[8])
PRMANAPI int BkmGetVoxelData(BkmBrickMap brickmap, BkmBrickMapNode node, int imin, int jmin, int kmin, int imax, int jmax, int kmax, int *nvoxels, int *voxelnumbers, int *voxelhasdata, float *voxeldata)
PRMANAPI int BkmGetOctreeRoots(BkmBrickMap brickmap, BkmBrickMapNode roots[7])
void * BkmBrickMapNode
Definition: brickmap.h:44
PRMANAPI int BkmGetBrickMapInfo(BkmBrickMap brickmap, char const *request, void *result)