Blender  V3.3
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Freestyle::BlenderFileLoader Class Reference

#include <BlenderFileLoader.h>

Classes

struct  detri_t
 

Public Member Functions

 BlenderFileLoader (Render *re, ViewLayer *view_layer, Depsgraph *depsgraph)
 
virtual ~BlenderFileLoader ()
 
NodeGroupLoad ()
 
unsigned int numFacesRead ()
 
void setRenderMonitor (RenderMonitor *iRenderMonitor)
 

Protected Member Functions

void insertShapeNode (Object *ob, Mesh *mesh, int id)
 
int testDegenerateTriangle (float v1[3], float v2[3], float v3[3])
 
int countClippedFaces (float v1[3], float v2[3], float v3[3], int clip[3])
 
void clipLine (float v1[3], float v2[3], float c[3], float z)
 
void clipTriangle (int numTris, float triCoords[][3], float v1[3], float v2[3], float v3[3], float triNormals[][3], float n1[3], float n2[3], float n3[3], bool edgeMarks[5], bool em1, bool em2, bool em3, const int clip[3])
 
void addTriangle (struct LoaderState *ls, float v1[3], float v2[3], float v3[3], float n1[3], float n2[3], float n3[3], bool fm, bool em1, bool em2, bool em3)
 

Protected Attributes

Render_re
 
Depsgraph_depsgraph
 
NodeGroup_Scene
 
unsigned _numFacesRead
 
bool _smooth
 
float _z_near
 
float _z_far
 
float _z_offset
 
RenderMonitor_pRenderMonitor
 

Detailed Description

Definition at line 67 of file BlenderFileLoader.h.

Constructor & Destructor Documentation

◆ BlenderFileLoader()

Freestyle::BlenderFileLoader::BlenderFileLoader ( Render re,
ViewLayer view_layer,
Depsgraph depsgraph 
)

◆ ~BlenderFileLoader()

Freestyle::BlenderFileLoader::~BlenderFileLoader ( )
virtual

Definition at line 31 of file BlenderFileLoader.cpp.

References _Scene.

Member Function Documentation

◆ addTriangle()

void Freestyle::BlenderFileLoader::addTriangle ( struct LoaderState ls,
float  v1[3],
float  v2[3],
float  v3[3],
float  n1[3],
float  n2[3],
float  n3[3],
bool  fm,
bool  em1,
bool  em2,
bool  em3 
)
protected

◆ clipLine()

void Freestyle::BlenderFileLoader::clipLine ( float  v1[3],
float  v2[3],
float  c[3],
float  z 
)
protected

Definition at line 160 of file BlenderFileLoader.cpp.

References Freestyle::c, t, v1, v2, and z.

Referenced by clipTriangle().

◆ clipTriangle()

void Freestyle::BlenderFileLoader::clipTriangle ( int  numTris,
float  triCoords[][3],
float  v1[3],
float  v2[3],
float  v3[3],
float  triNormals[][3],
float  n1[3],
float  n2[3],
float  n3[3],
bool  edgeMarks[5],
bool  em1,
bool  em2,
bool  em3,
const int  clip[3] 
)
protected

Definition at line 186 of file BlenderFileLoader.cpp.

References _z_far, _z_near, BLI_assert, clipLine(), CLIPPED_BY_NEAR, copy_v3_v3(), NOT_CLIPPED, v, v1, v2, and void.

Referenced by insertShapeNode().

◆ countClippedFaces()

int Freestyle::BlenderFileLoader::countClippedFaces ( float  v1[3],
float  v2[3],
float  v3[3],
int  clip[3] 
)
protected

Definition at line 100 of file BlenderFileLoader.cpp.

References _z_far, _z_near, CLIPPED_BY_FAR, CLIPPED_BY_NEAR, ELEM, G, G_DEBUG_FREESTYLE, NOT_CLIPPED, sum(), v, v1, and v2.

Referenced by insertShapeNode().

◆ insertShapeNode()

void Freestyle::BlenderFileLoader::insertShapeNode ( Object ob,
Mesh mesh,
int  id 
)
protected

Definition at line 388 of file BlenderFileLoader.cpp.

References _depsgraph, _numFacesRead, _re, _Scene, _smooth, _z_offset, Freestyle::a, Freestyle::NodeGroup::AddChild(), Freestyle::NodeShape::AddRep(), addTriangle(), Material::b, BKE_mesh_calc_normals_split(), BKE_mesh_recalc_looptri(), BKE_object_material_get(), CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, CD_NORMAL, Freestyle::GeomCleaner::CleanIndexedVertexArray(), clipTriangle(), MVert::co, copy_v3_v3(), countClippedFaces(), Freestyle::LoaderState::currentIndex, Freestyle::LoaderState::currentMIndex, CustomData_get_layer(), CustomData_has_layer(), DEG_get_evaluated_object(), Mesh::edata, Library::filepath, MPoly::flag, FreestyleFace::flag, float(), FREESTYLE_FACE_MARK, G, Material::g, G_DEBUG_FREESTYLE, Object::id, invert_m4_m4(), Mesh::ldata, ID::lib, Material::line_col, Material::line_priority, MPoly::mat_nr, Freestyle::LoaderState::maxBBox, ME_SMOOTH, MEM_freeN, MEM_malloc_arrayN, Freestyle::LoaderState::minBBox, Mesh::mloop, Mesh::mpoly, mul_m4_m4m4(), mul_m4_v3(), mul_mat3_m4_v3(), Mesh::mvert, Freestyle::BlenderFileLoader::detri_t::n, ID::name, Freestyle::VecMat::Vec< T, N >::norm(), normal_tri_v3(), normalize_v3(), Freestyle::VecMat::Vec< T, N >::normalizeSafe(), normals, Object::obmat, Mesh::pdata, Freestyle::LoaderState::pm, Freestyle::LoaderState::pmi, Freestyle::LoaderState::pn, Freestyle::LoaderState::pni, MLoopTri::poly, poly_to_tri_count(), Freestyle::LoaderState::pv, Freestyle::LoaderState::pvi, Material::r, RE_GetCamera(), RE_GetCameraModelMatrix(), Freestyle::Rep::setBBox(), Freestyle::FrsMaterial::setDiffuse(), Freestyle::NodeShape::setFrsMaterial(), Freestyle::Rep::setId(), Freestyle::Rep::setLibraryPath(), Freestyle::FrsMaterial::setLine(), Freestyle::Rep::setName(), Freestyle::FrsMaterial::setPriority(), Freestyle::FrsMaterial::setShininess(), Freestyle::FrsMaterial::setSpecular(), Material::specb, Material::specg, Material::specr, Freestyle::testEdgeMark(), Mesh::totloop, Mesh::totpoly, transpose_m4(), MLoopTri::tri, Freestyle::IndexedFaceSet::TRIANGLES, v, Freestyle::BlenderFileLoader::detri_t::v, MLoop::v, v1, v2, Freestyle::BlenderFileLoader::detri_t::viA, Freestyle::BlenderFileLoader::detri_t::viB, Freestyle::BlenderFileLoader::detri_t::viP, Freestyle::VecMat::Vec3< T >::x(), Freestyle::VecMat::Vec3< T >::y(), and Freestyle::VecMat::Vec3< T >::z().

Referenced by Load().

◆ Load()

NodeGroup * Freestyle::BlenderFileLoader::Load ( )

◆ numFacesRead()

unsigned int Freestyle::BlenderFileLoader::numFacesRead ( )
inline

Gets the number of read faces

Definition at line 77 of file BlenderFileLoader.h.

References _numFacesRead.

Referenced by Freestyle::Controller::LoadMesh().

◆ setRenderMonitor()

void Freestyle::BlenderFileLoader::setRenderMonitor ( RenderMonitor iRenderMonitor)
inline

Modifiers

Definition at line 91 of file BlenderFileLoader.h.

References _pRenderMonitor.

Referenced by Freestyle::Controller::LoadMesh().

◆ testDegenerateTriangle()

int Freestyle::BlenderFileLoader::testDegenerateTriangle ( float  v1[3],
float  v2[3],
float  v3[3] 
)
protected

Member Data Documentation

◆ _depsgraph

Depsgraph* Freestyle::BlenderFileLoader::_depsgraph
protected

Definition at line 134 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), insertShapeNode(), and Load().

◆ _numFacesRead

unsigned Freestyle::BlenderFileLoader::_numFacesRead
protected

Definition at line 136 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), insertShapeNode(), and numFacesRead().

◆ _pRenderMonitor

RenderMonitor* Freestyle::BlenderFileLoader::_pRenderMonitor
protected

Definition at line 144 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), Load(), and setRenderMonitor().

◆ _re

Render* Freestyle::BlenderFileLoader::_re
protected

Definition at line 133 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), insertShapeNode(), and Load().

◆ _Scene

NodeGroup* Freestyle::BlenderFileLoader::_Scene
protected

Definition at line 135 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), insertShapeNode(), Load(), and ~BlenderFileLoader().

◆ _smooth

bool Freestyle::BlenderFileLoader::_smooth
protected

Definition at line 140 of file BlenderFileLoader.h.

Referenced by BlenderFileLoader(), and insertShapeNode().

◆ _z_far

float Freestyle::BlenderFileLoader::_z_far
protected

Definition at line 141 of file BlenderFileLoader.h.

Referenced by clipTriangle(), countClippedFaces(), and Load().

◆ _z_near

float Freestyle::BlenderFileLoader::_z_near
protected

Definition at line 141 of file BlenderFileLoader.h.

Referenced by clipTriangle(), countClippedFaces(), and Load().

◆ _z_offset

float Freestyle::BlenderFileLoader::_z_offset
protected

Definition at line 142 of file BlenderFileLoader.h.

Referenced by insertShapeNode(), and Load().


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