CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GiNoiseGenerator.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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
57 virtual void initSeed(OdUInt32 seed) = 0;
58
66 virtual double noise1d(double point) const = 0;
67
75 virtual double noise2d(const OdGePoint2d &point) const = 0;
76
84 virtual double noise3d(const OdGePoint3d &point) const = 0;
85
96 virtual double noise(double point[], OdInt32 len) const = 0;
97
107 virtual double turbulence(const OdGePoint3d &point, double freq) const = 0;
108
118 virtual double oNoise(const OdGePoint3d &point, double freq) const = 0;
119
131 virtual double fBm(const OdGePoint3d &point, double H, double lacunarity, double octaves) const = 0;
132
138};
139
146
147#include "TD_PackPop.h"
148
149#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
static OdSmartPtr< OdGiNoiseGenerator > createObject(OdUInt32 seed)
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
virtual double noise3d(const OdGePoint3d &point) const =0