Blender V4.3
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 704 of file WXEdge.h.

Constructor & Destructor Documentation

◆ WXShape() [1/2]

Freestyle::WXShape::WXShape ( )
inline

Definition at line 715 of file WXEdge.h.

References _computeViewIndependent.

Referenced by duplicate().

◆ WXShape() [2/2]

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

copy constructor

Definition at line 721 of file WXEdge.h.

References _computeViewIndependent.

◆ ~WXShape()

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

Definition at line 732 of file WXEdge.h.

Member Function Documentation

◆ duplicate()

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

Reimplemented from Freestyle::WShape.

Definition at line 726 of file WXEdge.h.

References WXShape().

◆ getComputeViewIndependentFlag()

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

Definition at line 734 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 745 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 264 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 286 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 787 of file WXEdge.h.

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

Referenced by Freestyle::FEdgeXDetector::processShapes(), and Reset().

◆ setComputeViewIndependentFlag()

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

Definition at line 739 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: