|
Blender V4.3
|
#include <Silhouette.h>
Public Member Functions | |
| SShape () | |
| SShape (SShape &iBrother) | |
| virtual SShape * | duplicate () |
| virtual | ~SShape () |
| void | AddEdge (FEdge *iEdge) |
| void | AddNewVertex (SVertex *iv) |
| void | AddChain (FEdge *iEdge) |
| SVertex * | CreateSVertex (const Vec3r &P3D, const Vec3r &P2D, const Id &id) |
| void | SplitEdge (FEdge *fe, const vector< Vec2r > &iParameters, vector< FEdge * > &ioNewEdges) |
| FEdge * | SplitEdgeIn2 (FEdge *ioEdge, SVertex *ioNewVertex) |
| void | setBBox (const BBox< Vec3r > &iBBox) |
| void | ComputeBBox () |
| void | RemoveEdgeFromChain (FEdge *iEdge) |
| void | RemoveEdge (FEdge *iEdge) |
| vector< SVertex * > & | getVertexList () |
| vector< FEdge * > & | getEdgeList () |
| vector< FEdge * > & | getChains () |
| const BBox< Vec3r > & | bbox () |
| const FrsMaterial & | frs_material (uint i) const |
| const vector< FrsMaterial > & | frs_materials () const |
| ViewShape * | viewShape () |
| float | importance () const |
| Id | getId () const |
| const string & | getName () const |
| const string & | getLibraryPath () const |
| void | setId (Id id) |
| void | setName (const string &name) |
| void | setLibraryPath (const string &path) |
| void | setFrsMaterials (const vector< FrsMaterial > &iMaterials) |
| void | setViewShape (ViewShape *iShape) |
| void | setImportance (float importance) |
Public Attributes | |
| void * | userdata |
Class to define a feature shape. It is the gathering of feature elements from an identified input shape
Definition at line 1398 of file Silhouette.h.
|
inline |
Default constructor
Definition at line 1420 of file Silhouette.h.
References userdata.
Referenced by duplicate().
|
inline |
Copy constructor
Definition at line 1428 of file Silhouette.h.
References bbox(), Freestyle::FEdge::duplicate(), e, getChains(), getEdgeList(), getVertexList(), Freestyle::SVertex::setShape(), and userdata.
|
inlinevirtual |
|
inline |
Definition at line 1560 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpViewEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothViewEdge(), Freestyle::ViewMap::InsertViewVertex(), SplitEdge(), and SplitEdgeIn2().
|
inline |
Adds a FEdge to the list of FEdges.
Definition at line 1546 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildSharpFEdge(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::Chain::push_viewedge_back(), Freestyle::Chain::push_viewedge_front(), SplitEdge(), and SplitEdgeIn2().
|
inline |
Adds a SVertex to the list of SVertex of this Shape. The SShape attribute of the SVertex is also set to 'this'.
Definition at line 1554 of file Silhouette.h.
References Freestyle::SVertex::setShape().
Referenced by CreateSVertex(), Freestyle::ViewEdgeXBuilder::MakeSVertex(), and SplitEdge().
Returns the bounding box of the shape.
Definition at line 1858 of file Silhouette.h.
Referenced by SShape().
|
inline |
Compute the bbox of the sshape
Definition at line 1766 of file Silhouette.h.
References setBBox(), v, Freestyle::x, y, and z().
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Definition at line 1565 of file Silhouette.h.
References AddNewVertex(), and Freestyle::SVertex::setPoint2D().
Referenced by Freestyle::ViewMap::CreateTVertex().
|
inlinevirtual |
|
inline |
Returns the i-th material of the shape.
Definition at line 1864 of file Silhouette.h.
Referenced by Freestyle::FEdgeSharp::aFrsMaterial(), Freestyle::FEdgeSharp::bFrsMaterial(), and Freestyle::FEdgeSmooth::frs_material().
|
inline |
Returns the list of materials of the Shape.
Definition at line 1870 of file Silhouette.h.
Definition at line 1852 of file Silhouette.h.
Referenced by SShape().
Returns the list of FEdges of the Shape.
Definition at line 1847 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildViewEdges(), and SShape().
|
inline |
Returns the Id of the Shape.
Definition at line 1886 of file Silhouette.h.
Referenced by Freestyle::ViewShape::getId(), Freestyle::FEdge::shape_id(), Freestyle::SVertex::shape_id(), and Freestyle::ViewEdge::shape_id().
|
inline |
Returns the library path of the Shape.
Definition at line 1898 of file Silhouette.h.
Referenced by Freestyle::ViewShape::getLibraryPath().
|
inline |
Returns the name of the Shape.
Definition at line 1892 of file Silhouette.h.
Referenced by Freestyle::ViewShape::getName().
Returns the list of SVertex of the Shape.
Definition at line 1841 of file Silhouette.h.
Referenced by Freestyle::ViewEdgeXBuilder::BuildViewEdges(), and SShape().
|
inline |
Definition at line 1880 of file Silhouette.h.
Referenced by setImportance(), Freestyle::FEdge::shape_importance(), and Freestyle::SVertex::shape_importance().
|
inline |
Definition at line 1827 of file Silhouette.h.
Referenced by Freestyle::ViewShape::RemoveEdge().
|
inline |
Definition at line 1816 of file Silhouette.h.
Referenced by Freestyle::ViewMap::InsertViewVertex().
Sets the Bounding Box of the Shape
Definition at line 1760 of file Silhouette.h.
Referenced by ComputeBBox().
|
inline |
Sets the list of materials for the shape
Definition at line 1923 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Sets the Id of the shape.
Definition at line 1905 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Definition at line 1933 of file Silhouette.h.
References importance().
|
inline |
Sets the library path of the shape.
Definition at line 1917 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Sets the name of the shape.
Definition at line 1911 of file Silhouette.h.
Referenced by Freestyle::ViewMapBuilder::computeInitialViewEdges().
|
inline |
Definition at line 1928 of file Silhouette.h.
|
inline |
Splits an edge into several edges. The edge's vertices are passed rather than the edge itself. This way, all feature edges (SILHOUETTE, CREASE, BORDER) are split in the same time. The processed edges are flagged as done (using the user-data flag).One single new vertex is created whereas several split edges might created for the different kinds of edges. These new elements are added to the lists maintained by the shape. New chains are also created. ioA The first vertex for the edge that gets split. ioB The second vertex for the edge that gets split. iParameters A vector containing 2D real vectors indicating the parameters giving the intersections coordinates in 3D and in 2D. These intersections points must be sorted from B to A. Each parameter defines the intersection point I as I=A+T*AB. T<0 and T>1 are then incorrect insofar as they give intersections points that lie outside the segment. ioNewEdges The edges that are newly created (the initial edges are not included) are added to this list.
Definition at line 1591 of file Silhouette.h.
References AddChain(), AddEdge(), AddNewVertex(), Freestyle::FEdgeSharp::aFrsMaterialIndex(), B, b, Freestyle::FEdgeSharp::bFrsMaterialIndex(), Freestyle::FEdgeSmooth::frs_materialIndex(), Freestyle::Id::getFirst(), Freestyle::FEdge::getId(), Freestyle::SVertex::getId(), Freestyle::Id::getSecond(), Freestyle::FEdge::isSmooth(), Freestyle::FEdge::nextEdge(), Freestyle::SVertex::point2D(), Freestyle::SVertex::point3D(), Freestyle::SVertex::Replace(), Freestyle::FEdgeSharp::setaFrsMaterialIndex(), Freestyle::FEdgeSharp::setbFrsMaterialIndex(), Freestyle::FEdgeSmooth::setFrsMaterialIndex(), Freestyle::FEdge::setId(), Freestyle::FEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::SVertex::setPoint2D(), Freestyle::FEdge::setPreviousEdge(), T, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
Definition at line 1692 of file Silhouette.h.
References AddChain(), AddEdge(), Freestyle::SVertex::AddFEdge(), Freestyle::FEdgeSharp::aFaceMark(), Freestyle::FEdgeSharp::aFrsMaterialIndex(), B, Freestyle::FEdgeSharp::bFaceMark(), Freestyle::FEdgeSharp::bFrsMaterialIndex(), Freestyle::FEdgeSmooth::faceMark(), Freestyle::FEdgeSmooth::frs_materialIndex(), Freestyle::Id::getFirst(), Freestyle::FEdge::getId(), Freestyle::FEdge::getNature(), Freestyle::Id::getSecond(), Freestyle::FEdge::isSmooth(), Freestyle::FEdge::nextEdge(), Freestyle::FEdgeSmooth::normal(), Freestyle::FEdgeSharp::normalA(), Freestyle::FEdgeSharp::normalB(), Freestyle::FEdgeSharp::setaFaceMark(), Freestyle::FEdgeSharp::setaFrsMaterialIndex(), Freestyle::FEdgeSharp::setbFaceMark(), Freestyle::FEdgeSharp::setbFrsMaterialIndex(), Freestyle::FEdgeSmooth::setFaceMark(), Freestyle::FEdgeSmooth::setFrsMaterialIndex(), Freestyle::FEdge::setId(), Freestyle::FEdge::setNature(), Freestyle::FEdge::setNextEdge(), Freestyle::FEdgeSmooth::setNormal(), Freestyle::FEdgeSharp::setNormalA(), Freestyle::FEdgeSharp::setNormalB(), Freestyle::FEdge::setPreviousEdge(), Freestyle::FEdge::setVertexB(), and Freestyle::FEdge::vertexB().
|
inline |
Definition at line 1875 of file Silhouette.h.
| void* Freestyle::SShape::userdata |
A field that can be used by the user to store any data. This field must be reset afterwards using ResetUserData().
Definition at line 1417 of file Silhouette.h.