OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Data Structures | Public Member Functions | Protected Member Functions
PrimList Class Reference

#include <prim_list.hh>

Inherits GfxObj.

Data Structures

struct  LineEntry
struct  PointEntry

Public Member Functions

 PrimList (const String &name)
virtual geom::AlignedCuboid GetBoundingBox (bool use_tf=true) const
virtual void ProcessLimits (geom::Vec3 &minc, geom::Vec3 &maxc, const geom::Transform &tf) const
virtual geom::Vec3 GetCenter () const
virtual void CustomRenderPov (PovState &pov)
virtual void CustomRenderGL (RenderPass pass)
virtual void OnRenderModeChange ()
virtual void SetLineWidth (float w)
void Clear ()
void AddPoint (const geom::Vec3 &p, const Color &col)
void AddLine (const geom::Vec3 &p1, const geom::Vec3 &p2, const Color &col1, const Color &col2)
void AddSphere (const geom::Vec3 &cen, float rad, const Color &col)
void AddCyl (const geom::Vec3 &p0, const geom::Vec3 &p1, float r1, float r2, const Color &col1, const Color &col2)
void AddText (const std::string &text, const geom::Vec3 &pos, const Color &col, float point_size)
void SetDiameter (float d)
void SetRadius (float r)
void SetColor (const Color &c)
void SetSphereDetail (unsigned int d)
unsigned int GetSphereDetail () const
void SetArcDetail (unsigned int d)
unsigned int GetArcDetail () const
void AddMesh (float *v, float *n, float *c, size_t nv, unsigned int *i, size_t ni)
- Public Member Functions inherited from GfxObj
 GfxObj (const String &name)
virtual GfxNodeP Copy () const
virtual void DeepSwap (GfxObj &go)
virtual void RenderGL (RenderPass pass)
virtual void RenderPov (PovState &pov)
virtual void Export (Exporter *ex)
virtual void Apply (GfxNodeVisitor &v, GfxNodeVisitor::Stack st)
virtual int GetType () const
virtual void SetMatAmb (const Color &c)
virtual void SetMatDiff (const Color &c)
virtual void SetMatSpec (const Color &c)
virtual void SetMatShin (float s)
virtual void SetMatEmm (const Color &c)
virtual void ContextSwitch ()
virtual void SetRenderMode (RenderMode::Type m)
virtual RenderMode::Type GetRenderMode () const
virtual void SetPolyMode (unsigned int m)
virtual void SetAALines (bool f)
virtual void SetLineHalo (float f)
virtual void SetOutline (bool f)
virtual bool GetOutline () const
virtual void SetOutlineMode (int m)
virtual int GetOutlineMode () const
virtual void SetOutlineWidth (float f)
virtual float GetOutlineWidth () const
virtual void SetOutlineExpandFactor (float f)
virtual float GetOutlineExpandFactor () const
virtual void SetOutlineExpandColor (const Color &c)
virtual Color GetOutlineExpandColor () const
virtual void SetOpacity (float f)
virtual float GetOpacity () const
virtual void SetSolid (bool f)
virtual bool GetSolid () const
virtual void SetSolidColor (const Color &c)
virtual Color GetSolidColor () const
virtual void ColorBy (const mol::EntityView &ev, const String &prop, const Gradient &g, float minv, float maxv)
virtual void InitGL ()
virtual bool OnSelect (const geom::Line3 &l, geom::Vec3 &result, float zlim, bool pick_flag)
virtual void OnInput (const InputEvent &e)
virtual void OnGLCleanup ()
const geom::TransformGetTF () const
void SetTF (const geom::Transform &tf)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col)
void AddLabel (const String &s, const geom::Vec3 &pos, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos)
void ClearLabels ()
void FlagRebuild ()
void FlagRefresh ()
bool GetAALines () const
float GetLineWidth () const
float GetLineHalo () const
void SetNormalSmoothFactor (float smoothf)
float GetNormalSmoothFactor () const
Material GetMaterial () const
void SetMaterial (const Material &m)
void SmoothVertices (float smoothf)
void GLCleanup ()
void Debug (unsigned int flags)
- Public Member Functions inherited from GfxObjBase
 GfxObjBase (const String &name)
- Public Member Functions inherited from GfxNode
 GfxNode (const String &name)
virtual ~GfxNode ()
virtual void DeepSwap (GfxNode &n)
String GetName () const
void RemoveAll ()
void Rename (const String &name)
void Add (GfxObjP obj)
bool IsNameAvailable (const String &name) const
void Remove (GfxObjP obj)
void Add (GfxNodeP node)
void Remove (GfxNodeP node)
void Remove (const String &name)
size_t GetChildCount () const
void Hide ()
void Show ()
bool IsVisible () const
bool IsAttachedToScene () const
gfx::GfxNodeP GetParent () const
const GfxNodeVectorGetChildren () const
GfxNodeVectorGetChildren ()

Protected Member Functions

virtual void CustomPreRenderGL (bool flag)
- Protected Member Functions inherited from GfxObj
void PreRenderGL (bool flag)
void AppendColorOp (gfx::ColorOp *op)
void CleanColorOps ()
void ReapplyColorOps ()
void render_labels () const
void render_depth_only ()

Additional Inherited Members

- Static Public Member Functions inherited from GfxObj
static Color Ele2Color (const String &ele)
- Protected Attributes inherited from GfxObj
IndexedVertexArray va_
RenderMode::Type render_mode_
unsigned int debug_flags_
geom::Transform transform_
bool rebuild_
bool refresh_
float line_width_
unsigned int poly_mode_
bool aalines_flag_
float line_halo_
Material mat_
unsigned int mat_dlist_
bool mat_update_
float opacity_
float smoothf_
bool outline_flag_
int outline_mode_
bool solid_
Color solid_color_
boost::ptr_vector< gfx::ColorOpc_ops_
TextPrimList labels_
bool use_occlusion_

Detailed Description

See also:
gfx::Cuboid, Displaying Lines and Quads, gfx::Quad, Gradient Example, Random Lines

Definition at line 38 of file prim_list.hh.


Constructor & Destructor Documentation

PrimList ( const String name)

create new prim list


Member Function Documentation

void AddCyl ( const geom::Vec3 p0,
const geom::Vec3 p1,
float  r1,
float  r2,
const Color col1,
const Color col2 
)

add cylinder

Python interface:

PrimList.AddCyl(pos1,pos2,radius=1.0,radius1=1.0,radius2=1.0,color=gfx.WHITE,color1=gfx.WHITE,color2=gfx.WHITE)

void AddLine ( const geom::Vec3 p1,
const geom::Vec3 p2,
const Color col1,
const Color col2 
)

add line

Python interface:

PrimList.AddLine(pos1,pos2,color=gfx.WHITE,color1=gfx.WHITE,color2=gfx.WHITE)

void AddMesh ( float *  v,
float *  n,
float *  c,
size_t  nv,
unsigned int *  i,
size_t  ni 
)

add triangle mesh

v : pointer to nv*3 floats for the positions (mandatory) n : pointer to nv*3 floats for the normals (may be NULL) c : pointer to nv*4 floats for the colors (may be NULL) nv: number of vertices, normals, and colors i : pointer to ni*3 vertex indices ni: number of index triplets

Python interface, using numpy arrays:

AddMesh(vertex_array, normal_array, color_array, index_array)

where normal_array and color_array may be None

void AddPoint ( const geom::Vec3 p,
const Color col 
)

add point

python interface:

PrimList.AddPoint(pos, color=gfx.Color())

void AddSphere ( const geom::Vec3 cen,
float  rad,
const Color col 
)

add sphere

Python interface:

PrimList.AddSphere(cen,radius=1.0,color=gfx.WHITE)

void AddText ( const std::string &  text,
const geom::Vec3 pos,
const Color col,
float  point_size 
)

add text

Python interface:

PrimList.AddText(text,pos,color=gfx.WHITE,point_size=1.0)

void Clear ( )

clear all prims

Reimplemented from GfxObj.

virtual void CustomPreRenderGL ( bool  flag)
protectedvirtual

Reimplemented from GfxObj.

virtual void CustomRenderGL ( RenderPass  pass)
virtual

Reimplemented from GfxObj.

virtual void CustomRenderPov ( PovState pov)
virtual

Reimplemented from GfxObj.

unsigned int GetArcDetail ( ) const
inline

Definition at line 139 of file prim_list.hh.

virtual geom::AlignedCuboid GetBoundingBox ( bool  use_tf = true) const
virtual

returns the bounding box of this object

The bounding box, i.e. the left-bottom-front and the right-top-back corner of the object, is obtained with this method. The single boolean parameter denotes whether to return local coordinates or global scene coordinates; global scene coordinates are local coordinates with the object's transformation (if present) applied. The default is false, i.e. return local coordinates.

Reimplemented from GfxObj.

virtual geom::Vec3 GetCenter ( ) const
virtual

get center

Reimplemented from GfxObj.

unsigned int GetSphereDetail ( ) const
inline

Definition at line 136 of file prim_list.hh.

virtual void OnRenderModeChange ( )
virtual

Reimplemented from GfxObj.

virtual void ProcessLimits ( geom::Vec3 minc,
geom::Vec3 maxc,
const geom::Transform tf 
) const
virtual

adjust minimum and maximum extent based on graphical object

this routine will adjust the provided minimum and maximum points based on the vertices of the underlying graphical representation, combining the given Transform with the object transform.

If derived classes do not implement this method then the limits will be adjusted based on the Cuboid returned by GetBoundingBox(true)

Reimplemented from GfxObj.

void SetArcDetail ( unsigned int  d)
void SetColor ( const Color c)

set global prims color, overriding individual ones

void SetDiameter ( float  d)

defunct

virtual void SetLineWidth ( float  w)
virtual

set line width

Reimplemented from GfxObj.

void SetRadius ( float  r)

defunct

void SetSphereDetail ( unsigned int  d)

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