6#if !defined(AFX_3DPATCH_H__31D6A937_B14E_11D2_A1E5_000000000000__INCLUDED_)
7#define AFX_3DPATCH_H__31D6A937_B14E_11D2_A1E5_000000000000__INCLUDED_
15BEGIN_MOOTOOLS_NAMESPACE
17#define MAX_PATCH_LEVEL 8
18#define UNDEFINED_PATCH_LEVEL -1
20#if !defined(MOOTOOLS_AUTODESK) && !defined(MOOTOOLS_CRUNCHERSDK)
42#ifdef ALLOW_ALTERNATIVE_SUBDIVISION
50 void Subdivide(
int level);
54#ifdef ALLOW_ALTERNATIVE_SUBDIVISION
55 void InitPatch(
int method = 1);
71 void SetLevel(
int level);
75 virtual bool IsFinalObject()
const {
return false; }
78 static int EstimateLevel(
C3DObject *
object,
unsigned int level);
This is the base class for any kind of object.
Definition 3DBaseObject.h:106
This is the base class for any object containing geometry (curve, polygonal object,...
Definition 3DGeomObject.h:49
This class can be provided in C3DScene::Copy operations and allows to modify the created kind of clas...
Definition 3DScene.h:47
C3DObject handles polygonal mesh.
Definition 3DObject.h:24
C3DPatch handles handles patch object smoothed using a subdivision algorithm.
Definition 3DPatch.h:34
virtual bool InvalidateChannels(unsigned int channelType)
Notify that channels that have cache should be recomputed (ie, UVW channel or normal channel for exam...
virtual bool Update(C3DScene *scene, unsigned int updateMode)
Information that have been invalidated are recomputed when calling this method.IsInstanciated.
virtual C3DBaseObject * GetFinalObject(bool detach=false, bool computeIfNeeded=true)
Returns the object itself or any kind of object. For example for a patch it can returns a C3DObject o...
virtual void SetScene(C3DScene *scene)
Associate the object to a scene. a GUID for that object in the scene is assigned.
virtual void Invalidate(unsigned int invalidate, bool set=true)
Notify that some information changed (combination of OBJECT_UPDATE_PROPERTIES invalidation flags) and...
The class allows to get access to the scene graph, node hierarchy, material.
Definition 3DScene.h:306
The class defines an x, y, z 3D point which can use int, float or double.
Definition 3DPoint.h:27
CGeomInfo is an helper class oftenly required by different methods.
Definition GeomInfo.h:71