|
Blender V4.3
|
#include <BlenderFileLoader.h>
Classes | |
| struct | detri_t |
Public Member Functions | |
| BlenderFileLoader (Render *re, ViewLayer *view_layer, Depsgraph *depsgraph) | |
| virtual | ~BlenderFileLoader () |
| NodeGroup * | Load () |
| uint | 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 |
| uint | _numFacesRead |
| bool | _smooth |
| float | _z_near |
| float | _z_far |
| float | _z_offset |
| RenderMonitor * | _pRenderMonitor |
Definition at line 66 of file BlenderFileLoader.h.
| Freestyle::BlenderFileLoader::BlenderFileLoader | ( | Render * | re, |
| ViewLayer * | view_layer, | ||
| Depsgraph * | depsgraph ) |
Builds a MaxFileLoader
Definition at line 31 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 44 of file BlenderFileLoader.cpp.
References _Scene.
|
protected |
Definition at line 274 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, and v2.
Referenced by insertShapeNode().
|
protected |
Definition at line 182 of file BlenderFileLoader.cpp.
References Freestyle::c, v2, and z().
Referenced by clipTriangle().
|
protected |
Definition at line 208 of file BlenderFileLoader.cpp.
References _z_far, _z_near, BLI_assert, clipLine(), CLIPPED_BY_NEAR, copy_v3_v3(), NOT_CLIPPED, v, and v2.
Referenced by insertShapeNode().
|
protected |
Definition at line 120 of file BlenderFileLoader.cpp.
References _z_far, _z_near, CLIPPED_BY_FAR, CLIPPED_BY_NEAR, ELEM, G, G_DEBUG_FREESTYLE, NOT_CLIPPED, printf, sum(), v, and v2.
Referenced by insertShapeNode().
Definition at line 415 of file BlenderFileLoader.cpp.
References _depsgraph, _numFacesRead, _re, _Scene, _smooth, _z_offset, Freestyle::a, Freestyle::NodeGroup::AddChild(), addTriangle(), Material::b, BKE_object_material_get(), CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, Freestyle::GeomCleaner::CleanIndexedVertexArray(), clipTriangle(), copy_v3_v3(), blender::bke::mesh::corner_tris_calc(), countClippedFaces(), Freestyle::LoaderState::currentIndex, Freestyle::LoaderState::currentMIndex, CustomData_get_layer(), DEG_get_evaluated_object(), Freestyle::GeomUtils::distPointSegment(), Library::filepath, flag, FREESTYLE_FACE_MARK, G, Material::g, G_DEBUG_FREESTYLE, Object::id, invert_m4_m4(), ID::lib, Material::line_col, Material::line_priority, Freestyle::LoaderState::maxBBox, MEM_freeN(), MEM_malloc_arrayN, Freestyle::LoaderState::minBBox, mul_m4_m4m4(), mul_m4_v3(), mul_mat3_m4_v3(), 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, Freestyle::LoaderState::pm, Freestyle::LoaderState::pmi, Freestyle::LoaderState::pn, Freestyle::LoaderState::pni, poly_to_tri_count(), printf, Freestyle::LoaderState::pv, Freestyle::LoaderState::pvi, Material::r, RE_GetCamera(), RE_GetCameraModelMatrix(), Freestyle::Rep::setBBox(), Freestyle::FrsMaterial::setDiffuse(), 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(), transpose_m4(), Freestyle::IndexedFaceSet::TRIANGLES, Freestyle::BlenderFileLoader::detri_t::v, v, 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 49 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, DEGObjectIterSettings::depsgraph, G, G_DEBUG_FREESTYLE, insertShapeNode(), OB_HOLDOUT, OB_MBALL, OB_VISIBLE_SELF, and Freestyle::RenderMonitor::testBreak().
Referenced by Freestyle::Controller::LoadMesh().
|
inline |
Gets the number of read faces
Definition at line 76 of file BlenderFileLoader.h.
References _numFacesRead.
Referenced by Freestyle::Controller::LoadMesh().
|
inline |
Modifiers
Definition at line 90 of file BlenderFileLoader.h.
References _pRenderMonitor.
Referenced by Freestyle::Controller::LoadMesh().
|
protected |
Definition at line 360 of file BlenderFileLoader.cpp.
References area_tri_v3(), dist_squared_to_line_segment_v3(), eps, equals_v3v3(), G, G_DEBUG_FREESTYLE, printf, v2, and verbose.
|
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(), and numFacesRead().
|
protected |
Definition at line 143 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), Load(), and setRenderMonitor().
|
protected |
Definition at line 132 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), and Load().
|
protected |
Definition at line 134 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), insertShapeNode(), Load(), and ~BlenderFileLoader().
|
protected |
Definition at line 139 of file BlenderFileLoader.h.
Referenced by BlenderFileLoader(), and insertShapeNode().
|
protected |
Definition at line 140 of file BlenderFileLoader.h.
Referenced by clipTriangle(), countClippedFaces(), and Load().
|
protected |
Definition at line 140 of file BlenderFileLoader.h.
Referenced by clipTriangle(), countClippedFaces(), and Load().
|
protected |
Definition at line 141 of file BlenderFileLoader.h.
Referenced by insertShapeNode(), and Load().