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
SOP_MaxPromote.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2025
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
* This SOP max promotes a point attribute to a detail attribute.
27
*/
28
29
#ifndef __SOP_MaxPromote_h__
30
#define __SOP_MaxPromote_h__
31
32
#include <
SOP/SOP_Node.h
>
33
#include <
UT/UT_StringHolder.h
>
34
35
namespace
HDK_Sample {
36
/// This is the SOP class definition. It doesn't need to be in a separate
37
/// file like this. This is just an example of a header file, in case
38
/// another file needs to reference something in here.
39
/// You shouldn't have to change anything in here except the name of the class.
40
class
SOP_MaxPromote
:
public
SOP_Node
41
{
42
public
:
43
static
PRM_Template
*
buildTemplates
();
44
static
OP_Node
*
myConstructor
(
OP_Network
*net,
const
char
*
name
,
OP_Operator
*
op
)
45
{
46
return
new
SOP_MaxPromote
(net, name, op);
47
}
48
49
static
const
UT_StringHolder
theSOPTypeName
;
50
51
const
SOP_NodeVerb
*
cookVerb
()
const override
;
52
53
protected
:
54
SOP_MaxPromote
(
OP_Network
*net,
const
char
*
name
,
OP_Operator
*
op
)
55
:
SOP_Node
(net, name, op)
56
{
57
// All verb SOPs must manage data IDs, to track what's changed
58
// from cook to cook.
59
mySopFlags
.
setManagesDataIDs
(
true
);
60
}
61
62
~SOP_MaxPromote
()
override
{}
63
64
/// Since this SOP implements a verb, cookMySop just delegates to the verb.
65
OP_ERROR
cookMySop
(
OP_Context
&context)
override
66
{
67
return
cookMyselfAsVerb
(context);
68
}
69
};
70
}
// End HDK_Sample namespace
71
72
#endif
HDK_Sample::SOP_MaxPromote::buildTemplates
static PRM_Template * buildTemplates()
Definition:
SOP_MaxPromote.C:101
HDK_Sample::SOP_MaxPromote::theSOPTypeName
static const UT_StringHolder theSOPTypeName
Definition:
SOP_MaxPromote.h:49
UT_ErrorSeverity
UT_ErrorSeverity
Definition:
UT_Error.h:25
PRM_Template
Definition:
PRM_Template.h:49
OP_Context
Definition:
OP_Context.h:45
UT_StringHolder
Definition:
UT_StringHolder.h:1009
HDK_Sample::SOP_MaxPromote::SOP_MaxPromote
SOP_MaxPromote(OP_Network *net, const char *name, OP_Operator *op)
Definition:
SOP_MaxPromote.h:54
OP_Operator
Definition:
OP_Operator.h:142
OP_Node
Definition:
OP_Node.h:518
SOP_NodeVerb
Definition:
SOP_NodeVerb.h:87
SOP_Node::cookMyselfAsVerb
OP_ERROR cookMyselfAsVerb(OP_Context &context)
HDK_Sample::SOP_MaxPromote::myConstructor
static OP_Node * myConstructor(OP_Network *net, const char *name, OP_Operator *op)
Definition:
SOP_MaxPromote.h:44
HDK_Sample::SOP_MaxPromote::cookVerb
const SOP_NodeVerb * cookVerb() const override
Definition:
SOP_MaxPromote.C:155
SOP_Node::mySopFlags
SOP_NodeFlags mySopFlags
Definition:
SOP_Node.h:1631
name
GLuint const GLchar * name
Definition:
glcorearb.h:786
HDK_Sample::SOP_MaxPromote
Definition:
SOP_MaxPromote.h:40
SOP_NodeFlags::setManagesDataIDs
void setManagesDataIDs(bool onOff)
Definition:
SOP_NodeFlags.h:36
HDK_Sample::SOP_MaxPromote::cookMySop
OP_ERROR cookMySop(OP_Context &context) override
Since this SOP implements a verb, cookMySop just delegates to the verb.
Definition:
SOP_MaxPromote.h:65
HDK_Sample::SOP_MaxPromote::~SOP_MaxPromote
~SOP_MaxPromote() override
Definition:
SOP_MaxPromote.h:62
UT_StringHolder.h
SOP_Node.h
openvdb::OPENVDB_VERSION_NAME::tools::op
OutGridT XformOp & op
Definition:
ValueTransformer.h:139
OP_Network
Definition:
OP_Network.h:152
SOP_Node
Definition:
SOP_Node.h:111
samples
SOP
SOP_MaxPromote
SOP_MaxPromote.h
Generated on Thu Sep 4 2025 02:40:22 for HDK by
1.8.6