Blender
V3.3
|
#include <BlenderFileLoader.h>
Classes | |
struct | detri_t |
Public Member Functions | |
BlenderFileLoader (Render *re, ViewLayer *view_layer, Depsgraph *depsgraph) | |
virtual | ~BlenderFileLoader () |
NodeGroup * | Load () |
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 |
Definition at line 67 of file BlenderFileLoader.h.
Freestyle::BlenderFileLoader::BlenderFileLoader | ( | Render * | re, |
ViewLayer * | view_layer, | ||
Depsgraph * | depsgraph | ||
) |
Builds a MaxFileLoader
Definition at line 18 of file BlenderFileLoader.cpp.
References _depsgraph, _numFacesRead, _pRenderMonitor, _re, _Scene, _smooth, depsgraph, FreestyleConfig::flags, ViewLayer::freestyle_config, and FREESTYLE_FACE_SMOOTHNESS_FLAG.
|
virtual |
Definition at line 31 of file BlenderFileLoader.cpp.
References _Scene.
|
protected |
Definition at line 252 of file BlenderFileLoader.cpp.
References copy_v3_v3(), Freestyle::LoaderState::currentIndex, Freestyle::LoaderState::currentMIndex, Freestyle::IndexedFaceSet::EDGE_MARK_V1V2, Freestyle::IndexedFaceSet::EDGE_MARK_V2V3, Freestyle::IndexedFaceSet::EDGE_MARK_V3V1, Freestyle::IndexedFaceSet::FACE_MARK, len, len_v3v3(), Freestyle::LoaderState::maxBBox, Freestyle::LoaderState::minBBox, Freestyle::LoaderState::pm, Freestyle::LoaderState::pmi, Freestyle::LoaderState::pn, Freestyle::LoaderState::pni, Freestyle::LoaderState::pv, Freestyle::LoaderState::pvi, v1, and v2.
Referenced by insertShapeNode().
|
protected |
Definition at line 160 of file BlenderFileLoader.cpp.
References Freestyle::c, t, v1, v2, and z.
Referenced by clipTriangle().
|
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().
|
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().
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().
NodeGroup * Freestyle::BlenderFileLoader::Load | ( | ) |
Loads the 3D scene and returns a pointer to the scene root node
Definition at line 36 of file BlenderFileLoader.cpp.
References _depsgraph, _pRenderMonitor, _re, _Scene, _z_far, _z_near, _z_offset, BASE_HOLDOUT, BASE_INDIRECT_ONLY, BKE_object_to_mesh(), BKE_object_to_mesh_clear(), BKE_object_visibility(), Render::clip_end, Render::clip_start, DEG_get_mode(), DEG_ITER_OBJECT_FLAG_DUPLI, DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY, DEG_ITER_OBJECT_FLAG_LINKED_VIA_SET, DEG_ITER_OBJECT_FLAG_VISIBLE, DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, G, G_DEBUG_FREESTYLE, insertShapeNode(), mesh, OB_HOLDOUT, OB_VISIBLE_SELF, and Freestyle::RenderMonitor::testBreak().
Referenced by Freestyle::Controller::LoadMesh().
|
inline |
Gets the number of read faces
Definition at line 77 of file BlenderFileLoader.h.
References _numFacesRead.
Referenced by Freestyle::Controller::LoadMesh().
|
inline |
Modifiers
Definition at line 91 of file BlenderFileLoader.h.
References _pRenderMonitor.
Referenced by Freestyle::Controller::LoadMesh().
|
protected |
Definition at line 338 of file BlenderFileLoader.cpp.
References blender::compositor::area(), area_tri_v3(), dist_squared_to_line_segment_v3(), eps, equals_v3v3(), G, G_DEBUG_FREESTYLE, v1, v2, and verbose.
|
protected |
Definition at line 134 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), and Load().
|
protected |
Definition at line 136 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), and numFacesRead().
|
protected |
Definition at line 144 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), Load(), and setRenderMonitor().
|
protected |
Definition at line 133 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), and Load().
|
protected |
Definition at line 135 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), Load(), and ~BlenderFileLoader().
|
protected |
Definition at line 140 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), and insertShapeNode().
|
protected |
Definition at line 141 of file BlenderFileLoader.h.
Referenced by clipTriangle(), countClippedFaces(), and Load().
|
protected |
Definition at line 141 of file BlenderFileLoader.h.
Referenced by clipTriangle(), countClippedFaces(), and Load().
|
protected |
Definition at line 142 of file BlenderFileLoader.h.
Referenced by insertShapeNode(), and Load().