Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
FaceNormalChannel.h
Go to the documentation of this file.
1//! @file FaceNormalChannel.h
2//! @brief CFaceNormalChannel class for handling the normals for each face of an object
3//!
4//////////////////////////////////////////////////////////////////////
5
6#if !defined(AFX_NORMALFACECHANNEL_H__79EB93C4_8866_11D3_A029_8FE73A9B677B__INCLUDED_)
7#define AFX_NORMALFACECHANNEL_H__79EB93C4_8866_11D3_A029_8FE73A9B677B__INCLUDED_
8
9#ifdef _MSC_VER
10#pragma once
11#endif // _MSC_VER
12
13#include "Channel.h"
14
15BEGIN_MOOTOOLS_NAMESPACE
16
17//! @class CFaceNormalChannel
18//! @brief CFaceNormalChannel is the channel class dedicated to vertex colors.
19//! @details CFaceNormalChannel belongs to CDependentChannels and is referenced by the FACE_NORMAL_CHANNEL identifier.
20//! @note CFaceNormalChannel contains only a normal vector list, with one vector per object face, corresponding to the face normal.
21class DLL_3DFUNCTION CFaceNormalChannel : public CChannel
22{
23 DECLARE_SERIAL_XOBJECT(CFaceNormalChannel);
24
25public:
26 CFaceNormalChannel(ChannelID id = CHANNELID_UNDEFINED); // If id = CHANNELID_UNDEFINED, the id is automatically assigned when adding the channel to object channels. If id != CHANNELID_UNDEFINED, the id might be modified if it already exists in object channels
27 virtual ~CFaceNormalChannel(); // Use Delete instead, unless the CFaceNormalChannel is created on the stack (take care that it is referenced once only in this case)
28
29 C3DVectorList *GetNormalVectorList();
30
31 bool InitNormals(const CGeomInfo *info); // Return false if normal does not need to be recomputed or can't be computed
32
33 bool CanBeRecomputed();
34 bool MatrixTransform(const C4x4Matrix& refmatrix, POINT_PROPERTIES property = POINT_NONE, bool set = TRUE, int index = 0, int count = -1);
35 bool SwapCoordinates(unsigned int swapMode);
36
37 // Channel update
39
40protected:
41};
42
43END_MOOTOOLS_NAMESPACE
44
45#endif // !defined(AFX_NORMALFACECHANNEL_H__79EB93C4_8866_11D3_A029_8FE73A9B677B__INCLUDED_)
CChannel class definition which is the base class for object channels (UV, normals....
POINT_PROPERTIES
Point flags used by any classes that inherit from CPt (C3DPoint, C3DVector...)
Definition Point.h:19
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
A CChannel is the base class for some additional information associated to an object.
Definition Channel.h:93
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
CXArray is an array of simple data information which does not requires to call a constructor / destru...
Definition XTemplate.h:34