CFx SDK Documentation  2022 SP0
GiNoiseGenerator.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 // Perlin noise generation for procedural textures.
25 
26 #ifndef __ODGINOISEGENERATOR_H__
27 #define __ODGINOISEGENERATOR_H__
28 
29 #include "RootExport.h"
30 #include "GiExport.h"
31 #include "Ge/GePoint2d.h"
32 #include "Ge/GePoint3d.h"
33 
34 #include "RxObject.h"
35 
36 #include "TD_PackPush.h"
37 
47 {
48  public:
50 
55  virtual void initSeed(OdUInt32 seed) = 0;
56 
62  virtual double noise1d(double point) const = 0;
63 
69  virtual double noise2d(const OdGePoint2d &point) const = 0;
70 
76  virtual double noise3d(const OdGePoint3d &point) const = 0;
77 
85  virtual double noise(double point[], OdInt32 len) const = 0;
86 
93  virtual double turbulence(const OdGePoint3d &point, double freq) const = 0;
94 
101  virtual double oNoise(const OdGePoint3d &point, double freq) const = 0;
102 
111  virtual double fBm(const OdGePoint3d &point, double H, double lacunarity, double octaves) const = 0;
112 
118 };
119 
126 
127 #include "TD_PackPop.h"
128 
129 #endif // __ODGINOISEGENERATOR_H__
#define ODGI_EXPORT
Definition: GiExport.h:35
OdSmartPtr< OdGiNoiseGenerator > OdGiNoiseGeneratorPtr
unsigned int OdUInt32
int OdInt32
virtual double noise1d(double point) const =0
virtual double turbulence(const OdGePoint3d &point, double freq) const =0
virtual double fBm(const OdGePoint3d &point, double H, double lacunarity, double octaves) const =0
ODRX_DECLARE_MEMBERS(OdGiNoiseGenerator)
virtual double noise2d(const OdGePoint2d &point) const =0
virtual double oNoise(const OdGePoint3d &point, double freq) const =0
virtual void initSeed(OdUInt32 seed)=0
virtual double noise(double point[], OdInt32 len) const =0
static OdSmartPtr< OdGiNoiseGenerator > createObject(OdUInt32 seed)
virtual double noise3d(const OdGePoint3d &point) const =0