CFx SDK Documentation  2020SP3
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__
OdGiNoiseGenerator::initSeed
virtual void initSeed(OdUInt32 seed)=0
OdRxObject
Definition: RxObject.h:564
TD_PackPop.h
RxObject.h
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
OdGiNoiseGenerator::createObject
static OdSmartPtr< OdGiNoiseGenerator > createObject(OdUInt32 seed)
RootExport.h
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
OdInt32
int OdInt32
Definition: OdPlatformSettings.h:782
OdGiNoiseGenerator::turbulence
virtual double turbulence(const OdGePoint3d &point, double freq) const =0
GePoint3d.h
OdGiNoiseGeneratorPtr
OdSmartPtr< OdGiNoiseGenerator > OdGiNoiseGeneratorPtr
Definition: GiNoiseGenerator.h:125
OdGiNoiseGenerator
Definition: GiNoiseGenerator.h:47
OdGiNoiseGenerator::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiNoiseGenerator)
OdGiNoiseGenerator::oNoise
virtual double oNoise(const OdGePoint3d &point, double freq) const =0
TD_PackPush.h
OdGiNoiseGenerator::noise1d
virtual double noise1d(double point) const =0
OdGiNoiseGenerator::fBm
virtual double fBm(const OdGePoint3d &point, double H, double lacunarity, double octaves) const =0
GiExport.h
OdGiNoiseGenerator::noise2d
virtual double noise2d(const OdGePoint2d &point) const =0
GePoint2d.h
OdGiNoiseGenerator::noise
virtual double noise(double point[], OdInt32 len) const =0
OdGePoint2d
Definition: GePoint2d.h:60
OdGiNoiseGenerator::noise3d
virtual double noise3d(const OdGePoint3d &point) const =0