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.

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 SetClip (bool f)
 
virtual bool GetClip () const
 
virtual void SetClipPlane (const geom::Vec4 &)
 
virtual geom::Vec4 GetClipPlane () const
 
virtual void SetClipOffset (float f)
 
virtual float GetClipOffset () 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 ()
 
void Clear ()
 
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)
 
IndexedVertexArrayGetVA ()
 
const IndexedVertexArrayGetVA () const
 
- 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_
 
bool clip_flag_
 
geom::Vec4 clip_plane_
 
float clip_offset_
 
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

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: