HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
HOM/SOP_HOMWave.py
1
#
2
# Copyright (c) 2024
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 provides an example of a SOP implemented in Python.
27
#
28
29
"""This is the Python equivalent of SOP_HOMWave.C which uses the C++ API.
30
31
To use this code,
32
1) In Houdini, choose File -> New Operator Type
33
2) Choose "Python Type"
34
3) Choose the network type as "Geometry Operator"
35
4) Paste this code in the "Code" tab of the type properties.
36
37
@see @ref HOM/SOP_HOMWaveNumpy.py, @ref HOM/SOP_HOMWaveInlinecpp.py, @ref HOM/SOP_HOMWave.C, @ref SOP/SOP_CPPWave.C, @ref SOP/SOP_VEXWave.vfl
38
"""
39
40
import
hou
41
import
math
42
43
geo = hou.pwd().geometry()
44
f = hou.frame() * 0.03
45
for
p
in
geo.points():
46
pos = p.position()
47
pos[1] = math.sin(pos[0] * 0.2 + pos[2] * 0.3 + f)
48
p.setPosition(pos)
49
Generated on Sat May 11 2024 03:17:23 for HDK by
1.8.6