HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
GLTF_GeoLoader.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) COPYRIGHTYEAR
3
* Side Effects Software Inc. All rights reserved.
4
*
5
* Redistribution and use of Houdini Development Kit samples in source and
6
* binary forms, with or without modification, are permitted provided that the
7
* following conditions are met:
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* 2. The name of Side Effects Software may not be used to endorse or
11
* promote products derived from this software without specific prior
12
* written permission.
13
*
14
* THIS SOFTWARE IS PROVIDED BY SIDE EFFECTS SOFTWARE `AS IS' AND ANY EXPRESS
15
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
17
* NO EVENT SHALL SIDE EFFECTS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
18
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
*
25
*----------------------------------------------------------------------------
26
*/
27
28
#ifndef __SOP_GLTFGEOLOADER_H__
29
#define __SOP_GLTFGEOLOADER_H__
30
31
#include "
GLTF_API.h
"
32
33
#include <
GLTF/GLTF_Types.h
>
34
35
#include <
UT/UT_Array.h
>
36
#include <
UT/UT_Quaternion.h
>
37
#include <
UT/UT_StringHolder.h
>
38
#include <
UT/UT_Vector3.h
>
39
40
// Forward declarations
41
class
GU_Detail
;
42
class
UT_String
;
43
44
namespace
GLTF_NAMESPACE
45
{
46
47
class
GLTF_Loader;
48
49
struct
GLTF_API
GLTF_MeshLoadingOptions
50
{
51
bool
loadCustomAttribs =
true
;
52
bool
promotePointAttribs =
true
;
53
bool
consolidatePoints =
true
;
54
fpreal
pointConsolidationDistance = 0.0001F;
55
bool
addPathAttribute =
false
;
56
UT_StringHolder
pathAttributeName
;
57
UT_StringHolder
pathAttributeValue
;
58
};
59
60
class
GLTF_API
GLTF_GeoLoader
61
{
62
public
:
63
GLTF_GeoLoader
(
const
GLTF_Loader
&loader,
GLTF_Handle
mesh_idx,
64
GLTF_Handle
primitive_idx,
65
const
GLTF_MeshLoadingOptions
& options = {});
66
67
bool
loadIntoDetail(
GU_Detail
&detail);
68
69
static
bool
load(
const
GLTF_Loader
&loader,
GLTF_Handle
mesh_idx,
70
GLTF_Handle
primitive_idx,
GU_Detail
&detail,
71
const
GLTF_MeshLoadingOptions
options = {});
72
73
private
:
74
bool
75
LoadVerticesAndPoints(
GU_Detail
&detail,
76
const
GLTF_MeshLoadingOptions
&options,
77
const
GLTF_Accessor
&pos,
const
GLTF_Accessor
&ind);
78
79
bool
80
LoadVerticesAndPointsNonIndexed(
GU_Detail
&detail,
const
GLTF_Accessor
&pos);
81
82
bool
83
AddPointAttribute(
GU_Detail
&detail,
const
UT_StringHolder
&attrib_name,
84
const
GLTF_Accessor
&accessor);
85
86
// const uint32 myRootNode;
87
const
GLTF_Handle
myMeshIdx;
88
const
GLTF_Handle
myPrimIdx;
89
const
GLTF_Loader
&myLoader;
90
const
GLTF_MeshLoadingOptions
myOptions;
91
};
92
93
}
// end GLTF_NAMESPACE
94
95
#endif
GLTF_API
#define GLTF_API
Definition:
GLTF_API.h:37
GLTF_NAMESPACE::GLTF_MeshLoadingOptions::pathAttributeValue
UT_StringHolder pathAttributeValue
Definition:
GLTF_GeoLoader.h:57
UT_Vector3.h
GLTF_NAMESPACE::GLTF_Handle
uint32 GLTF_Handle
Definition:
GLTF_Types.h:48
GLTF_NAMESPACE::GLTF_Accessor
Definition:
GLTF_Types.h:226
GLTF_NAMESPACE::GLTF_Loader
Definition:
GLTF_Loader.h:54
UT_Array.h
GLTF_Types.h
GLTF_API.h
UT_StringHolder
Definition:
UT_StringHolder.h:999
GLTF_NAMESPACE
#define GLTF_NAMESPACE
Definition:
GLTF_API.h:42
GLTF_NAMESPACE::GLTF_GeoLoader
Definition:
GLTF_GeoLoader.h:60
GLTF_NAMESPACE::GLTF_MeshLoadingOptions
Definition:
GLTF_GeoLoader.h:49
UT_StringHolder.h
fpreal
fpreal64 fpreal
Definition:
SYS_Types.h:277
GU_Detail
Definition:
GU_Detail.h:154
UT_String
Definition:
UT_String.h:73
UT_Quaternion.h
GLTF_NAMESPACE::GLTF_MeshLoadingOptions::pathAttributeName
UT_StringHolder pathAttributeName
Definition:
GLTF_GeoLoader.h:56
GLTF
GLTF_GeoLoader.h
Generated on Tue Dec 17 2024 03:39:43 for HDK by
1.8.6