6#if !defined(AFX_GEOMINFO_H__6A7ECAE5_4687_11D3_A382_F9580C633921__INCLUDED_)
7#define AFX_GEOMINFO_H__6A7ECAE5_4687_11D3_A382_F9580C633921__INCLUDED_
16BEGIN_MOOTOOLS_NAMESPACE
21typedef enum _GeomInfoDeleteInfo
23 GEOMINFO_DELETE_NONE = 0x00,
24 GEOMINFO_DELETE_SRC = 0x01,
25 GEOMINFO_DELETE_DST = 0x02,
75 typedef enum GeomFlags
78 GEOMINFO_DELETE_SRC_POINTS = 0x01,
79 GEOMINFO_DELETE_DST_POINTS = 0x02,
80 GEOMINFO_DELETE_SRC_FACES = 0x04,
81 GEOMINFO_DELETE_DST_FACES = 0x08,
82 GEOMINFO_DELETE_SRC_CHANNELS = 0x10,
83 GEOMINFO_DELETE_DST_CHANNELS = 0x20,
111 C3DFaceList *GetSrc3DFaceList(
bool detach =
false)
const;
116 C3DScene *GetScene()
const {
return scene; }
144END_MOOTOOLS_NAMESPACE
The files handles materials definition.
CChannel class definition which is the base class for object channels (UV, normals....
Channel3DType
The channel type which can be used to cast to the appropriate class Bitwise operations can be use to ...
Definition Channel.h:27
MapType
This enum allows to know the kind of texture map.
Definition MaterialMap.h:26
This is the base class for any kind of object.
Definition 3DBaseObject.h:106
C3DFaceList class which implement a list of C3DFace. Each face contains indexes to 3D points stored i...
Definition 3DFaceList.h:249
This is the base class for any object containing geometry (curve, polygonal object,...
Definition 3DGeomObject.h:49
Definition 3DPointList.h:267
The class allows to get access to the scene graph, node hierarchy, material.
Definition 3DScene.h:306
A node matches one element that is part of the C3DScene graph. It references a C3DBaseObject and has ...
Definition 3DSceneNode.h:64
The class defines an x, y, z 3D point which can use int, float or double.
Definition 3DPoint.h:27
C3DVectorList is an array of C3DVector. It is used in particular by CPointNormalChannel,...
Definition 3DVectorList.h:45
This class contains an array of CChannel information which are associated to the object.
Definition DependentChannels.h:56
CFaceList is the common base class for a lot of different classes (C3DFaceList, CUVWFaceList....
Definition FaceList.h:179
CFaceNormalChannel is the channel class dedicated to vertex colors.
Definition FaceNormalChannel.h:22
CGeomInfo is an helper class oftenly required by different methods.
Definition GeomInfo.h:71
CSpecNormalChannel * GetSrcSpecNormalChannel(CNormalFaceList *&faces, C3DVectorList *&points) const
Return the specified normals channels in source channel.
ChannelID GetMaterialUVWChannelID(C3DScene *scene, MaterialID id, MapType type, bool front=true) const
Get channel ID (if any, CHANNELID_UNDEFINED otherwise) for the provided material which belong to scen...
CGeomInfo(C3DSceneNode *node, C3DBaseObject *object=NULL)
If object = NULL, node->GetBaseObject is used. scene = object scene if any, or node scene otherwise (...
int GetChannelSize() const
Return the number of channels in source channels.
int GetChannelNumber(Channel3DType type=ALL_CHANNELS_TYPE, bool onlyValid=true) const
Return the number of channels of the given type in source channels (cf. CDependentChannels::GetChanne...
CPointList * GetSrcPointList(bool detach=false) const
Return the source point list, which has been set by the constructor. detach = true means that CGeomIn...
C3DGeomObject * GetGeomObject() const
Return NULL if not a geomobject.
CGeomInfo(CFaceList *faces, CPointList *points)
Can be use with a generic CFaceList / CPointList and GetSrcFaceList / GetSrcPointList only.
CFaceList * GetSrcFaceList(bool detach=false) const
Return the source face list, which has been set by the constructor. detach = true means that CGeomInf...
CUVWChannel * GetSrcUVWChannelByIndex(unsigned int index, CUVWFaceList *&faces, CUVWPointList *&uvpoints) const
Internally call CDependentChannels::GetUVWChannelByIndex. Return NULL if no UVW index exists in sourc...
C3DPointList * GetDst3DPointList(bool detach=false) const
When using SetPointList with source and destination points.
CPointNormalChannel * GetSrcPointNormalChannel(CNormalFaceList *&faces, C3DVectorList *&points, bool createIfNeeded=false) const
Return the point normal channel and optionally create it if it does not exists in source channel.
C3DFaceList * GetDst3DFaceList(bool detach=false) const
When using SetFaceList with source and destination faces.
C3DPointList * GetSrc3DPointList(bool detach=false) const
Return the source 3D point list, which has been set by the constructor.
void SetChannels(CDependentChannels *srcchannels, CDependentChannels *dstchannels=NULL, unsigned int deleteInfoGeomFlags=GEOMINFO_DELETE_NONE)
You may provide the source channels and corresponding destination channels. For example,...
void GetChannelFaceList(int i, CFaceList *&srcfaces, CFaceList *&dstfaces) const
Get the #i source and destination face list.
void GetChannelPointList(int i, CPointList *&srcpts, CPointList *&dstpts) const
Get the #i source and destination point list.
CFaceNormalChannel * GetSrcFaceNormalChannel(C3DVectorList *&points, bool createIfNeeded=false) const
Return the face normal channel and optionally create it if it does not exists in source channel.
CUVWChannel * GetSrcUVWChannelByID(ChannelID chnid, CUVWFaceList *&faces, CUVWPointList *&uvpoints) const
Internally call CDependentChannels::GetUVWChannelByID. Return NULL if no UVW ID exists in source chan...
CVCChannel * GetSrcVCChannelByID(ChannelID chnid, CVCFaceList *&faces, CVCPointList *&points) const
Internally call CDependentChannels::GetVCChannelByID. Return NULL if no VC ID exists in source channe...
CVCChannel * GetSrcVCChannelByIndex(unsigned int index, CVCFaceList *&faces, CVCPointList *&uvpoints) const
Internally call CDependentChannels::GetVCChannelByIndex. Return NULL if no VC index exists in source ...
ChannelID GetMaterialUVWChannelID(MaterialID id, MapType type, bool front=true) const
Get the channel ID (if any, CHANNELID_UNDEFINED otherwise) for the provided material which belong to ...
CNormalFaceList is a CFaceList that contains CNormalFace. It usually belongs to a by CPointNormalChan...
Definition NormalFaceList.h:21
CPointList is the base class for different classes (C3DPointList, CUVWPointList......
Definition PointList.h:50
CPointNormalChannel is the channel class dedicated to vertex colors.
Definition PointNormalChannel.h:61
CSpecNormalChannel is the channel class dedicated to user defined or specified normals.
Definition SpecNormalChannel.h:21
CUVWChannel is the channel class dedicated to UVs.
Definition UVWChannel.h:21
CUVWFaceList is a CFaceList that contains CUVWFace. It usually belongs to a CUVWChannel.
Definition UVWFaceList.h:21
CUVWPointList is an array of CUVWPoint. It usually belongs to a CUVWChannel.
Definition UVWPointList.h:46
CVCChannel is the channel class dedicated to vertex colors.
Definition VCChannel.h:21
CVCFaceList is a CFaceList that contains CVCFace. It usually belongs to a CVCChannel.
Definition VCFaceList.h:21
CVCPointList is an array of CVCPoint. It usually belongs to a CVCChannel.
Definition VCPointList.h:46