Blender V5.0
Freestyle::WXShape Class Reference

#include <WXEdge.h>

Inherits Freestyle::WShape.

Public Member Functions

 WXShape ()
 WXShape (WXShape &iBrother)
virtual WShapeduplicate ()
virtual ~WXShape ()
bool getComputeViewIndependentFlag () const
void setComputeViewIndependentFlag (bool iFlag)
virtual WFaceinstanciateFace () const
virtual WFaceMakeFace (vector< WVertex * > &iVertexList, vector< bool > &iFaceEdgeMarksList, uint iMaterialIndex)
virtual WFaceMakeFace (vector< WVertex * > &iVertexList, vector< Vec3f > &iNormalsList, vector< Vec2f > &iTexCoordsList, vector< bool > &iFaceEdgeMarksList, uint iMaterialIndex)
virtual void Reset ()
Public Member Functions inherited from Freestyle::WShape
 WShape ()
 WShape (WShape &iBrother)
virtual ~WShape ()
vector< WEdge * > & getEdgeList ()
vector< WVertex * > & getVertexList ()
vector< WFace * > & GetFaceList ()
uint GetId ()
const FrsMaterialfrs_material (uint i) const
const vector< FrsMaterial > & frs_materials () const
const string & getName () const
const string & getLibraryPath () const
void setEdgeList (const vector< WEdge * > &iEdgeList)
void setVertexList (const vector< WVertex * > &iVertexList)
void setFaceList (const vector< WFace * > &iFaceList)
void setId (int id)
void setFrsMaterial (const FrsMaterial &frs_material, uint i)
void setFrsMaterials (const vector< FrsMaterial > &iMaterials)
void setName (const string &name)
void setLibraryPath (const string &path)
void AddEdge (WEdge *iEdge)
void AddFace (WFace *iFace)
void AddVertex (WVertex *iVertex)
void ResetUserData ()
real ComputeMeanEdgeSize () const

Protected Attributes

bool _computeViewIndependent
Protected Attributes inherited from Freestyle::WShape
vector< WVertex * > _VertexList
vector< WEdge * > _EdgeList
vector< WFace * > _FaceList
int _Id
string _Name
string _LibraryPath
vector< FrsMaterial_FrsMaterials

Additional Inherited Members

Static Public Member Functions inherited from Freestyle::WShape
static void setCurrentId (const uint id)
Protected Member Functions inherited from Freestyle::WShape
virtual WFaceMakeFace (vector< WVertex * > &iVertexList, vector< bool > &iFaceEdgeMarksList, uint iMaterialIndex, WFace *face)
Static Protected Attributes inherited from Freestyle::WShape
static uint _SceneCurrentId = 0

Detailed Description

Definition at line 692 of file WXEdge.h.

Constructor & Destructor Documentation

◆ WXShape() [1/2]

Freestyle::WXShape::WXShape ( )
inline

Definition at line 703 of file WXEdge.h.

References _computeViewIndependent, and Freestyle::WShape::WShape().

Referenced by duplicate(), and WXShape().

◆ WXShape() [2/2]

Freestyle::WXShape::WXShape ( WXShape & iBrother)
inline

copy constructor

Definition at line 709 of file WXEdge.h.

References _computeViewIndependent, Freestyle::WShape::WShape(), and WXShape().

◆ ~WXShape()

virtual Freestyle::WXShape::~WXShape ( )
inlinevirtual

Definition at line 720 of file WXEdge.h.

Member Function Documentation

◆ duplicate()

virtual WShape * Freestyle::WXShape::duplicate ( )
inlinevirtual

Reimplemented from Freestyle::WShape.

Definition at line 714 of file WXEdge.h.

References Freestyle::WShape::WShape(), and WXShape().

◆ getComputeViewIndependentFlag()

bool Freestyle::WXShape::getComputeViewIndependentFlag ( ) const
inline

Definition at line 722 of file WXEdge.h.

References _computeViewIndependent.

◆ instanciateFace()

virtual WFace * Freestyle::WXShape::instanciateFace ( ) const
inlinevirtual

designed to build a specialized WFace for use in MakeFace

Reimplemented from Freestyle::WShape.

Definition at line 733 of file WXEdge.h.

◆ MakeFace() [1/2]

WFace * Freestyle::WXShape::MakeFace ( vector< WVertex * > & iVertexList,
vector< bool > & iFaceEdgeMarksList,
uint iMaterialIndex )
virtual

Adds a new face to the shape returns the built face.

  • iVertexList List of face's vertices. These vertices are not added to the WShape vertex list; they are supposed to be already stored when calling MakeFace. The order in which the vertices are stored in the list determines the face's edges orientation and (so) the face orientation.

Reimplemented from Freestyle::WShape.

Definition at line 265 of file WXEdge.cpp.

References float, and Freestyle::WShape::MakeFace().

◆ MakeFace() [2/2]

WFace * Freestyle::WXShape::MakeFace ( vector< WVertex * > & iVertexList,
vector< Vec3f > & iNormalsList,
vector< Vec2f > & iTexCoordsList,
vector< bool > & iFaceEdgeMarksList,
uint iMaterialIndex )
virtual

Adds a new face to the shape. The difference with the previous method is that this one is designed to build a WingedEdge structure for which there are per vertex normals, opposed to per face normals. returns the built face.

  • iVertexList: List of face's vertices. These vertices are not added to the WShape vertex list; they are supposed to be already stored when calling MakeFace. The order in which the vertices are stored in the list determines the face's edges orientation and (so) the face orientation.
  • iNormalsList: The list of normals, iNormalsList[i] corresponding to the normal of the vertex iVertexList[i] for that face.
  • iTexCoordsList: The list of texture coords, iTexCoordsList[i] corresponding to the normal of the vertex iVertexList[i] for that face.

Reimplemented from Freestyle::WShape.

Definition at line 287 of file WXEdge.cpp.

References float, and Freestyle::WShape::MakeFace().

◆ Reset()

virtual void Freestyle::WXShape::Reset ( )
inlinevirtual

Reset all edges and vertices flags (which might have been set up on a previous pass)

Definition at line 775 of file WXEdge.h.

References Freestyle::WShape::getEdgeList(), and Freestyle::WShape::GetFaceList().

Referenced by Freestyle::FEdgeXDetector::processShapes().

◆ setComputeViewIndependentFlag()

void Freestyle::WXShape::setComputeViewIndependentFlag ( bool iFlag)
inline

Definition at line 727 of file WXEdge.h.

References _computeViewIndependent.

Referenced by Freestyle::FEdgeXDetector::processShapes().

Member Data Documentation

◆ _computeViewIndependent

bool Freestyle::WXShape::_computeViewIndependent
protected

The documentation for this class was generated from the following files: