diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03129.html | 2774 |
1 files changed, 2774 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03129.html b/docs/doxygen/nel/a03129.html new file mode 100644 index 00000000..d99301bf --- /dev/null +++ b/docs/doxygen/nel/a03129.html @@ -0,0 +1,2774 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLLIGO::CPrimZone class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLLIGO::CPrimZone Class Reference</h1><code>#include <<a class="el" href="a06196.html">primitive.h</a>></code> +<p> +<p>Inheritance diagram for NLLIGO::CPrimZone: +<p><center><img src="a03129.png" usemap="#NLLIGO::CPrimZone_map" border="0" alt=""></center> +<map name="NLLIGO::CPrimZone_map"> +<area href="a03123.html" alt="NLLIGO::IPrimitive" shape="rect" coords="0,56,127,80"> +<area href="a02540.html" alt="NLMISC::IClassable" shape="rect" coords="0,0,127,24"> +</map> +<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom>{ <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew2">NotAnArray</a>, +<a class="el" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew1">AtTheEnd</a> = 0xffffffff + }</td></tr> + +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea0">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>, float &distance, <a class="el" href="a03128.html">NLMISC::CVector</a> &nearPos, bool isPath) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea1">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea2">getAABox</a> (<a class="el" href="a03128.html">NLMISC::CVector</a> &cornerMin, <a class="el" href="a03128.html">NLMISC::CVector</a> &cornerMax) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the smallest axis-aligned box containing the zone. <a href="#NLLIGO_1_1CPrimZonea2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea3">getBarycentre</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex. <a href="#NLLIGO_1_1CPrimZonea3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html#NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6">getClassName</a> ()=0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea5">NLMISC_DECLARE_CLASS</a> (<a class="el" href="a03129.html">CPrimZone</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonea6">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &f)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Hierarchy</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_0">getChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_1">getChild</a> (const <a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_2">getChildId</a> (<a class="el" href="a04558.html#a15">uint</a> &childId, const <a class="el" href="a03123.html">IPrimitive</a> *child) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_3">getNumChildren</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_4">getParent</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_5">getParent</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_6">insertChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *primitive, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>=AtTheEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_10">removeChild</a> (<a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_11">removeChildren</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Properties</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_0">addPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_2">getNumProperty</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_6">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, <a class="el" href="a03131.html">IProperty</a> *&result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_7">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_8">getPropertyByName</a> (const char *property_name, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_9">getPropertyByName</a> (const char *property_name, const std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_10">getPropertyByName</a> (const char *property_name, std::string &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_11">getPropertyByName</a> (const char *property_name, std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_12">getPropertyByName</a> (const char *property_name, std::string *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_13">getPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (const char *property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_16">removeProperties</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_17">removeProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_18">removePropertyByName</a> (const char *property_name)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Hierarchy</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_0">getChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_1">getChild</a> (const <a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_2">getChildId</a> (<a class="el" href="a04558.html#a15">uint</a> &childId, const <a class="el" href="a03123.html">IPrimitive</a> *child) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_3">getNumChildren</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_4">getParent</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_5">getParent</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_6">insertChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *primitive, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>=AtTheEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_10">removeChild</a> (<a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_11">removeChildren</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Properties</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_0">addPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_2">getNumProperty</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_6">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, <a class="el" href="a03131.html">IProperty</a> *&result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_7">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_8">getPropertyByName</a> (const char *property_name, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_9">getPropertyByName</a> (const char *property_name, const std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_10">getPropertyByName</a> (const char *property_name, std::string &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_11">getPropertyByName</a> (const char *property_name, std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_12">getPropertyByName</a> (const char *property_name, std::string *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_13">getPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (const char *property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_16">removeProperties</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_17">removeProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_18">removePropertyByName</a> (const char *property_name)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Hierarchy</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_0">getChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_1">getChild</a> (const <a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_2">getChildId</a> (<a class="el" href="a04558.html#a15">uint</a> &childId, const <a class="el" href="a03123.html">IPrimitive</a> *child) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_3">getNumChildren</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_4">getParent</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_5">getParent</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_6">insertChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *primitive, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>=AtTheEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_10">removeChild</a> (<a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_11">removeChildren</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Properties</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_0">addPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_2">getNumProperty</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_6">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, <a class="el" href="a03131.html">IProperty</a> *&result)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_7">getProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>, std::string &property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_8">getPropertyByName</a> (const char *property_name, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_9">getPropertyByName</a> (const char *property_name, const std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_10">getPropertyByName</a> (const char *property_name, std::string &result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_11">getPropertyByName</a> (const char *property_name, std::vector< std::string > *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_12">getPropertyByName</a> (const char *property_name, std::string *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_13">getPropertyByName</a> (const char *property_name, <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (const char *property_name, const <a class="el" href="a03131.html">IProperty</a> *&result) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_16">removeProperties</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_17">removeProperty</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_18">removePropertyByName</a> (const char *property_name)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Hierarchy</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_0">getChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_1">getChild</a> (const <a class="el" href="a03123.html">IPrimitive</a> *&result, <a class="el" href="a04558.html#a15">uint</a> childId) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_2">getChildId</a> (<a class="el" href="a04558.html#a15">uint</a> &childId, const <a class="el" href="a03123.html">IPrimitive</a> *child) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_3">getNumChildren</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_4">getParent</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_5">getParent</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_6">insertChild</a> (<a class="el" href="a03123.html">IPrimitive</a> *primitive, <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>=AtTheEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_10">removeChild</a> (<a class="el" href="a04558.html#a15">uint</a> childId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1899_11">removeChildren</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonee0">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>, const std::vector< <a class="el" href="a03127.html">CPrimVector</a> > &points, float &distance, <a class="el" href="a03128.html">NLMISC::CVector</a> &nearPos, bool isPath)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonee1">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>, const std::vector< <a class="el" href="a03127.html">CPrimVector</a> > &points)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonee2">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>, const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > &points, float &distance, <a class="el" href="a03128.html">NLMISC::CVector</a> &nearPos, bool isPath)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonee3">contains</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &<a class="el" href="a04223.html#a576">v</a>, const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > &points)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> <a class="el" href="a04223.html#a576">v</a>, const <a class="el" href="a03128.html">NLMISC::CVector</a> &p1, const <a class="el" href="a03128.html">NLMISC::CVector</a> &p2, <a class="el" href="a03128.html">NLMISC::CVector</a> &nearPos)</td></tr> + +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo0">Expanded</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo1">Layer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo2">Name</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a03127.html">CPrimVector</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a></td></tr> + +<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03123.html">IPrimitive</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned0">copy</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned1">getNumVector</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03127.html">CPrimVector</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned2">getPrimVector</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const <a class="el" href="a03127.html">CPrimVector</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned3">getPrimVector</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned4">read</a> (xmlNodePtr xmlNode, const char *<a class="el" href="a04560.html#a1">filename</a>, <a class="el" href="a04558.html#a15">uint</a> version, <a class="el" href="a02756.html">CLigoConfig</a> &config)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a03129.html#NLLIGO_1_1CPrimZoned5">write</a> (xmlNodePtr xmlNode, const char *<a class="el" href="a04560.html#a1">filename</a>) const </td></tr> + +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NLLIGO_1_1IPrimitivew0" doxytag="NLLIGO::CPrimZone::@66" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> anonymous enum<code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew2" doxytag="NotAnArray" ></a>NotAnArray</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew1" doxytag="AtTheEnd" ></a>AtTheEnd</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06196.html#l00165">165</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +<div class="fragment"><pre>00166 { +00167 <a class="code" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew2">NotAnArray</a>, +00168 <a class="code" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew1">AtTheEnd</a> = 0xffffffff, +00169 }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_0" doxytag="NLLIGO::CPrimZone::addPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::addPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03131.html">IProperty</a> * </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Definition at line <a class="el" href="a06195.html#l01384">1384</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01839">NLLIGO::CPrimitives::convertAddPrimitive()</a>, <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, and <a class="el" href="a06195.html#l01396">NLLIGO::IPrimitive::read()</a>. +<p> +<div class="fragment"><pre>01385 { +01386 <span class="keywordtype">bool</span> inserted = _Properties.insert (std::map<std::string, IProperty*>::value_type (property_name, result)).second; +01387 <span class="keywordflow">if</span> (inserted) +01388 { +01389 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01390 } +01391 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01392 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonee0" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< <a class="el" href="a03127.html">CPrimVector</a> > & </td> + <td class="mdname" nowrap> <em>points</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>distance</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>nearPos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>isPath</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00649">649</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l00847">getSegmentDist()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00650 { +00651 <a class="code" href="a04365.html#a4">H_AUTO</a>(NLLIGO_Contains1) +00652 <a class="code" href="a04558.html#a11">uint32</a> i; +00653 CVector vMin, vMax; +00654 <span class="keywordtype">float</span> nearest = FLT_MAX; +00655 CVector pos; +00656 +00657 <span class="comment">// Point or line can't contains !</span> +00658 <span class="keywordflow">if</span> (points.size() < 3 || isPath) +00659 { +00660 <span class="comment">// only compute the distance.</span> +00661 <span class="keywordflow">if</span> (points.size() == 1) +00662 { +00663 distance = (points[0] - <a class="code" href="a04223.html#a576">v</a>).norm(); +00664 nearPos = points[0]; +00665 } +00666 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (points.size() == 2) +00667 { +00668 distance = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, points[0], points[1], nearPos); +00669 } +00670 <span class="keywordflow">else</span> +00671 { +00672 <span class="comment">// compute nearest segment</span> +00673 <span class="keywordflow">for</span> (i = 0; i < points.size()-1; ++i) +00674 { +00675 <span class="keyword">const</span> CVector &p1 = points[i]; +00676 <span class="keyword">const</span> CVector &p2 = points[i+1]; +00677 +00678 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, p1, p2, pos); +00679 <span class="keywordflow">if</span>( dist < nearest) +00680 { +00681 nearest = dist; +00682 nearPos = pos; +00683 } +00684 } +00685 distance = nearest; +00686 } +00687 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00688 } +00689 +00690 <span class="comment">// Get the bounding rectangle of the zone</span> +00691 vMax = vMin = points[0]; +00692 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00693 { +00694 vMin.x = <a class="code" href="a04061.html#a0">min</a>(vMin.x, points[i].x); +00695 vMin.y = <a class="code" href="a04061.html#a0">min</a>(vMin.y, points[i].y); +00696 vMax.x = max(vMax.x, points[i].x); +00697 vMax.y = max(vMax.y, points[i].y); +00698 } +00699 +00700 <span class="keywordflow">if</span> ((<a class="code" href="a04223.html#a576">v</a>.x < vMin.x) || (<a class="code" href="a04223.html#a576">v</a>.y < vMin.y) || (<a class="code" href="a04223.html#a576">v</a>.x > vMax.x) || (<a class="code" href="a04223.html#a576">v</a>.y > vMax.y)) +00701 { +00702 <span class="comment">// find the nearest distance of all segment</span> +00703 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i<points.size(); ++i) +00704 { +00705 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, points[i], points[(i+1) % points.size()], pos); +00706 +00707 <span class="keywordflow">if</span> (dist < nearest) +00708 { +00709 nearest = dist; +00710 nearPos = pos; +00711 } +00712 } +00713 distance = nearest; +00714 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00715 } +00716 +00717 <a class="code" href="a04558.html#a11">uint32</a> nNbIntersection = 0; +00718 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00719 { +00720 <span class="keyword">const</span> CVector &p1 = points[i]; +00721 <span class="keyword">const</span> CVector &p2 = points[(i+1)%points.size()]; +00722 +00723 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, p1, p2, pos); +00724 <span class="keywordflow">if</span>( dist < nearest) +00725 { +00726 nearest = dist; +00727 nearPos = pos; +00728 } +00729 +00730 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)) +00731 <span class="keywordflow">continue</span>; +00732 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)) +00733 <span class="keywordflow">continue</span>; +00734 <span class="keywordtype">float</span> xinter = p1.x + (p2.x-p1.x) * ((<a class="code" href="a04223.html#a576">v</a>.y-p1.y)/(p2.y-p1.y)); +00735 <span class="keywordflow">if</span> (xinter > <a class="code" href="a04223.html#a576">v</a>.x) +00736 ++nNbIntersection; +00737 } +00738 +00739 distance = nearest; +00740 <span class="keywordflow">if</span> ((nNbIntersection&1) == 1) <span class="comment">// odd intersections so the vertex is inside</span> +00741 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00742 <span class="keywordflow">else</span> +00743 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00744 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonee1" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< <a class="el" href="a03127.html">CPrimVector</a> > & </td> + <td class="mdname" nowrap> <em>points</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00270">270</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00271 { +00272 <a class="code" href="a04558.html#a11">uint32</a> i; +00273 CVector vMin, vMax; +00274 +00275 <span class="comment">// Point or line can't contains !</span> +00276 <span class="keywordflow">if</span> (points.size() < 3) +00277 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00278 +00279 <span class="comment">// Get the bounding rectangle of the zone</span> +00280 vMax = vMin = points[0]; +00281 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00282 { +00283 <span class="keywordflow">if</span> (vMin.x > points[i].x) +00284 vMin.x = points[i].x; +00285 <span class="keywordflow">if</span> (vMin.y > points[i].y) +00286 vMin.y = points[i].y; +00287 +00288 <span class="keywordflow">if</span> (vMax.x < points[i].x) +00289 vMax.x = points[i].x; +00290 <span class="keywordflow">if</span> (vMax.y < points[i].y) +00291 vMax.y = points[i].y; +00292 } +00293 +00294 <span class="keywordflow">if</span> ((<a class="code" href="a04223.html#a576">v</a>.x < vMin.x) || (<a class="code" href="a04223.html#a576">v</a>.y < vMin.y) || (<a class="code" href="a04223.html#a576">v</a>.x > vMax.x) || (<a class="code" href="a04223.html#a576">v</a>.y > vMax.y)) +00295 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00296 +00297 <a class="code" href="a04558.html#a11">uint32</a> nNbIntersection = 0; +00298 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00299 { +00300 <span class="keyword">const</span> CVector &p1 = points[i]; +00301 <span class="keyword">const</span> CVector &p2 = points[(i+1)%points.size()]; +00302 +00303 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)) +00304 <span class="keywordflow">continue</span>; +00305 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)) +00306 <span class="keywordflow">continue</span>; +00307 <span class="keywordtype">float</span> xinter = p1.x + (p2.x-p1.x) * ((<a class="code" href="a04223.html#a576">v</a>.y-p1.y)/(p2.y-p1.y)); +00308 <span class="keywordflow">if</span> (xinter > <a class="code" href="a04223.html#a576">v</a>.x) +00309 ++nNbIntersection; +00310 } +00311 <span class="keywordflow">if</span> ((nNbIntersection&1) == 1) <span class="comment">// odd intersections so the vertex is inside</span> +00312 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00313 <span class="keywordflow">else</span> +00314 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00315 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonee2" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > & </td> + <td class="mdname" nowrap> <em>points</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>distance</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>nearPos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>isPath</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00748">748</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l00847">getSegmentDist()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00749 { +00750 <a class="code" href="a04365.html#a4">H_AUTO</a>(NLLIGO_Contains2) +00751 <a class="code" href="a04558.html#a11">uint32</a> i; +00752 CVector vMin, vMax; +00753 <span class="keywordtype">float</span> nearest = FLT_MAX; +00754 CVector pos; +00755 +00756 <span class="comment">// Point or line can't contains !</span> +00757 <span class="keywordflow">if</span> (points.size() < 3 || isPath) +00758 { +00759 <span class="comment">// only compute the distance.</span> +00760 <span class="keywordflow">if</span> (points.size() == 1) +00761 { +00762 distance = (points[0] - <a class="code" href="a04223.html#a576">v</a>).norm(); +00763 nearPos = points[0]; +00764 } +00765 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (points.size() == 2) +00766 { +00767 distance = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, points[0], points[1], nearPos); +00768 } +00769 <span class="keywordflow">else</span> +00770 { +00771 <span class="comment">// compute nearest segment</span> +00772 <span class="keywordflow">for</span> (i = 0; i < points.size()-1; ++i) +00773 { +00774 <span class="keyword">const</span> CVector &p1 = points[i]; +00775 <span class="keyword">const</span> CVector &p2 = points[i+1]; +00776 +00777 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, p1, p2, pos); +00778 <span class="keywordflow">if</span>( dist < nearest) +00779 { +00780 nearest = dist; +00781 nearPos = pos; +00782 } +00783 } +00784 distance = nearest; +00785 } +00786 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00787 } +00788 +00789 <span class="comment">// Get the bounding rectangle of the zone</span> +00790 vMax = vMin = points[0]; +00791 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00792 { +00793 vMin.x = <a class="code" href="a04061.html#a0">min</a>(vMin.x, points[i].x); +00794 vMin.y = <a class="code" href="a04061.html#a0">min</a>(vMin.y, points[i].y); +00795 vMax.x = max(vMax.x, points[i].x); +00796 vMax.y = max(vMax.y, points[i].y); +00797 } +00798 +00799 <span class="keywordflow">if</span> ((<a class="code" href="a04223.html#a576">v</a>.x < vMin.x) || (<a class="code" href="a04223.html#a576">v</a>.y < vMin.y) || (<a class="code" href="a04223.html#a576">v</a>.x > vMax.x) || (<a class="code" href="a04223.html#a576">v</a>.y > vMax.y)) +00800 { +00801 <span class="comment">// find the nearest distance of all segment</span> +00802 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i<points.size(); ++i) +00803 { +00804 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, points[i], points[(i+1) % points.size()], pos); +00805 +00806 <span class="keywordflow">if</span> (dist < nearest) +00807 { +00808 nearest = dist; +00809 nearPos = pos; +00810 } +00811 } +00812 distance = nearest; +00813 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00814 } +00815 +00816 <a class="code" href="a04558.html#a11">uint32</a> nNbIntersection = 0; +00817 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00818 { +00819 <span class="keyword">const</span> CVector &p1 = points[i]; +00820 <span class="keyword">const</span> CVector &p2 = points[(i+1)%points.size()]; +00821 +00822 <span class="keywordtype">float</span> dist = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZonee4">getSegmentDist</a>(v, p1, p2, pos); +00823 <span class="keywordflow">if</span>( dist < nearest) +00824 { +00825 nearest = dist; +00826 nearPos = pos; +00827 } +00828 +00829 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)) +00830 <span class="keywordflow">continue</span>; +00831 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)) +00832 <span class="keywordflow">continue</span>; +00833 <span class="keywordtype">float</span> xinter = p1.x + (p2.x-p1.x) * ((<a class="code" href="a04223.html#a576">v</a>.y-p1.y)/(p2.y-p1.y)); +00834 <span class="keywordflow">if</span> (xinter > <a class="code" href="a04223.html#a576">v</a>.x) +00835 ++nNbIntersection; +00836 } +00837 +00838 distance = nearest; +00839 <span class="keywordflow">if</span> ((nNbIntersection&1) == 1) <span class="comment">// odd intersections so the vertex is inside</span> +00840 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00841 <span class="keywordflow">else</span> +00842 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00843 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonee3" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< <a class="el" href="a03128.html">NLMISC::CVector</a> > & </td> + <td class="mdname" nowrap> <em>points</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00319">319</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00320 { +00321 <a class="code" href="a04558.html#a11">uint32</a> i; +00322 CVector vMin, vMax; +00323 +00324 <span class="comment">// Point or line can't contains !</span> +00325 <span class="keywordflow">if</span> (points.size() < 3) +00326 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00327 +00328 <span class="comment">// Get the bounding rectangle of the zone</span> +00329 vMax = vMin = points[0]; +00330 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00331 { +00332 <span class="keywordflow">if</span> (vMin.x > points[i].x) +00333 vMin.x = points[i].x; +00334 <span class="keywordflow">if</span> (vMin.y > points[i].y) +00335 vMin.y = points[i].y; +00336 +00337 <span class="keywordflow">if</span> (vMax.x < points[i].x) +00338 vMax.x = points[i].x; +00339 <span class="keywordflow">if</span> (vMax.y < points[i].y) +00340 vMax.y = points[i].y; +00341 } +00342 +00343 <span class="keywordflow">if</span> ((<a class="code" href="a04223.html#a576">v</a>.x < vMin.x) || (<a class="code" href="a04223.html#a576">v</a>.y < vMin.y) || (<a class="code" href="a04223.html#a576">v</a>.x > vMax.x) || (<a class="code" href="a04223.html#a576">v</a>.y > vMax.y)) +00344 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00345 +00346 <a class="code" href="a04558.html#a11">uint32</a> nNbIntersection = 0; +00347 <span class="keywordflow">for</span> (i = 0; i < points.size(); ++i) +00348 { +00349 <span class="keyword">const</span> CVector &p1 = points[i]; +00350 <span class="keyword">const</span> CVector &p2 = points[(i+1)%points.size()]; +00351 +00352 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) <= 0.0)) +00353 <span class="keywordflow">continue</span>; +00354 <span class="keywordflow">if</span> (((p1.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)&&((p2.y-<a class="code" href="a04223.html#a576">v</a>.y) > 0.0)) +00355 <span class="keywordflow">continue</span>; +00356 <span class="keywordtype">float</span> xinter = p1.x + (p2.x-p1.x) * ((<a class="code" href="a04223.html#a576">v</a>.y-p1.y)/(p2.y-p1.y)); +00357 <span class="keywordflow">if</span> (xinter > <a class="code" href="a04223.html#a576">v</a>.x) +00358 ++nNbIntersection; +00359 } +00360 <span class="keywordflow">if</span> ((nNbIntersection&1) == 1) <span class="comment">// odd intersections so the vertex is inside</span> +00361 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00362 <span class="keywordflow">else</span> +00363 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00364 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea0" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>distance</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>nearPos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>isPath</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00449">449</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +References <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00449 { <span class="keywordflow">return</span> CPrimZone::contains(v, VPoints, distance, nearPos, isPath); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea1" doxytag="NLLIGO::CPrimZone::contains" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::contains </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>v</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00448">448</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +References <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00448 { <span class="keywordflow">return</span> CPrimZone::contains(v, VPoints); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned0" doxytag="NLLIGO::CPrimZone::copy" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03123.html">NLLIGO::IPrimitive</a> * NLLIGO::CPrimZone::copy </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Implements <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_1">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00598">598</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +<div class="fragment"><pre>00599 { +00600 <span class="keywordflow">return</span> <span class="keyword">new</span> CPrimZone (*<span class="keyword">this</span>); +00601 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea2" doxytag="NLLIGO::CPrimZone::getAABox" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLIGO::CPrimZone::getAABox </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>cornerMin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>cornerMax</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Returns the smallest axis-aligned box containing the zone. +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00889">889</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>. +<p> +<div class="fragment"><pre>00890 { +00891 cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = FLT_MAX; +00892 cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> = FLT_MAX; +00893 cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = -FLT_MAX; +00894 cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> = -FLT_MAX; +00895 <span class="keywordflow">for</span> ( <a class="code" href="a04558.html#a15">uint</a> i=0; i!=<a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.size(); ++i ) +00896 { +00897 <span class="keyword">const</span> CVector& p = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>[i]; +00898 <span class="keywordflow">if</span> ( p.x < cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> ) +00899 cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = p.x; +00900 <span class="keywordflow">if</span> ( p.x > cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> ) +00901 cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a> = p.x; +00902 <span class="keywordflow">if</span> ( p.y < cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> ) +00903 cornerMin.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> = p.y; +00904 <span class="keywordflow">if</span> ( p.y > cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> ) +00905 cornerMax.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a> = p.y; +00906 } +00907 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea3" doxytag="NLLIGO::CPrimZone::getBarycentre" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> NLLIGO::CPrimZone::getBarycentre </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex. +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00874">874</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00875 { +00876 CVector sum( CVector::Null ); +00877 <a class="code" href="a04558.html#a15">uint</a> n = <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.size(); +00878 <span class="keywordflow">if</span> ( n != 0 ) +00879 { +00880 <span class="keywordflow">for</span> ( <a class="code" href="a04558.html#a15">uint</a> i=0; i!=n; ++i ) +00881 sum += <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>[i]; +00882 <span class="keywordflow">return</span> sum / (<span class="keywordtype">float</span>)n; +00883 } +00884 <span class="keywordflow">else</span> +00885 <span class="keywordflow">return</span> sum; +00886 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_0" doxytag="NLLIGO::CPrimZone::getChild" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03123.html">IPrimitive</a> *& </td> + <td class="mdname" nowrap> <em>result</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>childId</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a child primitive +<p> +Definition at line <a class="el" href="a06195.html#l01303">1303</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01304 { +01305 <span class="keywordflow">if</span> (childId < _Children.size ()) +01306 { +01307 result = _Children[childId]; +01308 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01309 } +01310 <span class="keywordflow">else</span> +01311 { +01312 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getChild : invalid index (index : %d, size %d)."</span>, childId, _Children.size ()); +01313 } +01314 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01315 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_1" doxytag="NLLIGO::CPrimZone::getChild" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03123.html">IPrimitive</a> *& </td> + <td class="mdname" nowrap> <em>result</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>childId</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a child primitive +<p> +Definition at line <a class="el" href="a06195.html#l01287">1287</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, <a class="el" href="a05471.html#l00272">NLSOUND::CBackgroundSoundManager::loadAudioFromPrimitives()</a>, <a class="el" href="a05471.html#l00441">NLSOUND::CBackgroundSoundManager::loadEffectsFromPrimitives()</a>, <a class="el" href="a05471.html#l00410">NLSOUND::CBackgroundSoundManager::loadSamplesFromPrimitives()</a>, and <a class="el" href="a05471.html#l00334">NLSOUND::CBackgroundSoundManager::loadSoundsFromPrimitives()</a>. +<p> +<div class="fragment"><pre>01288 { +01289 <span class="keywordflow">if</span> (childId < _Children.size ()) +01290 { +01291 result = _Children[childId]; +01292 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01293 } +01294 <span class="keywordflow">else</span> +01295 { +01296 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getChild : invalid index (index : %d, size %d)."</span>, childId, _Children.size ()); +01297 } +01298 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01299 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_2" doxytag="NLLIGO::CPrimZone::getChildId" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getChildId </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>childId</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03123.html">IPrimitive</a> * </td> + <td class="mdname" nowrap> <em>child</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the id of the child, return 0xffffffff if not found +<p> +Definition at line <a class="el" href="a06195.html#l01713">1713</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00317">NLLIGO::IPrimitive::_ChildId</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01714 { +01715 childId = child->_ChildId; +01716 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01717 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITrackKeyFramer_3_01CKeyVector_01_4a6" doxytag="NLLIGO::CPrimZone::getClassName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual std::string NLMISC::IClassable::getClassName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Implemented in <a class="el" href="a02995.html#NLAIAGENT_1_1CNumericIndexz1699_0">NLAIAGENT::CNumericIndex</a>, <a class="el" href="a02145.html#NLAIAGENT_1_1VectorTypez1764_0">NLAIC::IPointerGestion</a>, <a class="el" href="a02650.html#NLAIC_1_1CIdentTypez1766_0">NLAIC::CIdentType</a>, and <a class="el" href="a02241.html#CAutomataDescz1896_0">CAutomataDesc</a>. +<p> +Referenced by <a class="el" href="a05549.html#l00091">NLMISC::CClassRegistry::checkObject()</a>, and <a class="el" href="a06525.html#l00039">NL3D::GetTextureSize()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_3" doxytag="NLLIGO::CPrimZone::getNumChildren" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLLIGO::IPrimitive::getNumChildren </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the children primitive count +<p> +Definition at line <a class="el" href="a06196.html#l00183">183</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, <a class="el" href="a05471.html#l00272">NLSOUND::CBackgroundSoundManager::loadAudioFromPrimitives()</a>, <a class="el" href="a05471.html#l00441">NLSOUND::CBackgroundSoundManager::loadEffectsFromPrimitives()</a>, <a class="el" href="a05471.html#l00410">NLSOUND::CBackgroundSoundManager::loadSamplesFromPrimitives()</a>, and <a class="el" href="a05471.html#l00334">NLSOUND::CBackgroundSoundManager::loadSoundsFromPrimitives()</a>. +<p> +<div class="fragment"><pre>00184 { +00185 <span class="keywordflow">return</span> _Children.size (); +00186 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_2" doxytag="NLLIGO::CPrimZone::getNumProperty" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLLIGO::IPrimitive::getNumProperty </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a num properties +<p> +Definition at line <a class="el" href="a06195.html#l01721">1721</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01722 { +01723 <span class="keywordflow">return</span> _Properties.size (); +01724 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned1" doxytag="NLLIGO::CPrimZone::getNumVector" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLLIGO::CPrimZone::getNumVector </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Implements <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_3">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00584">584</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00585 { +00586 <span class="keywordflow">return</span> <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.size (); +00587 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_4" doxytag="NLLIGO::CPrimZone::getParent" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03123.html">IPrimitive</a>* NLLIGO::IPrimitive::getParent </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a child primitive +<p> +Definition at line <a class="el" href="a06196.html#l00199">199</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +<div class="fragment"><pre>00200 { +00201 <span class="keywordflow">return</span> _Parent; +00202 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_5" doxytag="NLLIGO::CPrimZone::getParent" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03123.html">IPrimitive</a>* NLLIGO::IPrimitive::getParent </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the parent primtive +<p> +Definition at line <a class="el" href="a06196.html#l00195">195</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +Referenced by <a class="el" href="a05903.html#l00242">NLLIGO::CLigoConfig::canBeChild()</a>, and <a class="el" href="a05903.html#l00367">NLLIGO::CLigoConfig::getPrimitiveClass()</a>. +<p> +<div class="fragment"><pre>00196 { +00197 <span class="keywordflow">return</span> _Parent; +00198 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned2" doxytag="NLLIGO::CPrimZone::getPrimVector" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03127.html">CPrimVector</a> * NLLIGO::CPrimZone::getPrimVector </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Implements <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_4">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00605">605</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +<div class="fragment"><pre>00606 { +00607 <span class="keywordflow">return</span> &(<a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>[0]); +00608 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned3" doxytag="NLLIGO::CPrimZone::getPrimVector" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03127.html">CPrimVector</a> * NLLIGO::CPrimZone::getPrimVector </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Implements <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_5">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00591">591</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +<div class="fragment"><pre>00592 { +00593 <span class="keywordflow">return</span> &(<a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>[0]); +00594 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_6" doxytag="NLLIGO::CPrimZone::getProperty" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getProperty </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>index</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::string & </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03131.html">IProperty</a> *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a properties by its index This is method (iterate a list) is slower than getPropertyByName (look up in a map). +<p> +Definition at line <a class="el" href="a06195.html#l01081">1081</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01082 { +01083 <span class="comment">// Look for the property</span> +01084 std::map<std::string, IProperty*>::iterator ite = _Properties.begin (); +01085 <span class="keywordflow">while</span> (ite != _Properties.end ()) +01086 { +01087 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a566">index</a> == 0) +01088 { +01089 property_name = ite->first; +01090 result = ite->second; +01091 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01092 } +01093 <a class="code" href="a04223.html#a566">index</a>--; +01094 ite ++; +01095 } +01096 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getProperty : invalid index (index : %d, size : %d)."</span>, index, _Properties.size ()); +01097 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01098 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_7" doxytag="NLLIGO::CPrimZone::getProperty" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getProperty </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>index</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::string & </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03131.html">IProperty</a> *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a properties by its index This is method (iterate a list) is slower than getPropertyByName (look up in a map). +<p> +Definition at line <a class="el" href="a06195.html#l01060">1060</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01061 { +01062 <span class="comment">// Look for the property</span> +01063 std::map<std::string, IProperty*>::const_iterator ite = _Properties.begin (); +01064 <span class="keywordflow">while</span> (ite != _Properties.end ()) +01065 { +01066 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a566">index</a> == 0) +01067 { +01068 property_name = ite->first; +01069 result = ite->second; +01070 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01071 } +01072 <a class="code" href="a04223.html#a566">index</a>--; +01073 ite ++; +01074 } +01075 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getProperty : invalid index (index : %d, size : %d)."</span>, index, _Properties.size ()); +01076 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01077 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_8" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a color property with its name. Return false if the property is not found or is not a string array property. +<p> +Definition at line <a class="el" href="a06195.html#l01218">1218</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00122">NLLIGO::CPropertyColor::Color</a>, <a class="el" href="a06195.html#l01102">NLLIGO::IPrimitive::getPropertyByName()</a>, and <a class="el" href="a05622.html#l00135">nlwarning</a>. +<p> +<div class="fragment"><pre>01219 { +01220 <span class="comment">// Get the property</span> +01221 <a class="code" href="a03131.html">IProperty</a> *prop; +01222 <span class="keywordflow">if</span> (<a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (property_name, prop)) +01223 { +01224 <span class="keyword">const</span> CPropertyColor *colorProp = dynamic_cast<const CPropertyColor *> (prop); +01225 <span class="keywordflow">if</span> (colorProp) +01226 { +01227 result = colorProp->Color; +01228 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01229 } +01230 <span class="keywordflow">else</span> +01231 { +01232 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a color."</span>, property_name); +01233 } +01234 } +01235 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01236 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_9" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< std::string > *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a string array property with its name. Return false if the property is not found or is not a string array property. +<p> +Definition at line <a class="el" href="a06195.html#l01196">1196</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l01102">NLLIGO::IPrimitive::getPropertyByName()</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a06196.html#l00107">NLLIGO::CPropertyStringArray::StringArray</a>. +<p> +<div class="fragment"><pre>01197 { +01198 <span class="comment">// Get the property</span> +01199 <a class="code" href="a03131.html">IProperty</a> *prop; +01200 <span class="keywordflow">if</span> (<a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (property_name, prop)) +01201 { +01202 <span class="keyword">const</span> <a class="code" href="a03133.html">CPropertyStringArray</a> *strProp = dynamic_cast<const CPropertyStringArray *> (prop); +01203 <span class="keywordflow">if</span> (strProp) +01204 { +01205 result = &(strProp-><a class="code" href="a03133.html#NLLIGO_1_1CPropertyStringArrayo1">StringArray</a>); +01206 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01207 } +01208 <span class="keywordflow">else</span> +01209 { +01210 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string."</span>, property_name); +01211 } +01212 } +01213 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01214 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_10" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::string & </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a string property with its name. Return false if the property is not found or is not a string property. +<p> +Definition at line <a class="el" href="a06195.html#l01152">1152</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l01102">NLLIGO::IPrimitive::getPropertyByName()</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a06196.html#l00088">NLLIGO::CPropertyString::String</a>. +<p> +<div class="fragment"><pre>01153 { +01154 <span class="comment">// Get the property</span> +01155 <span class="keyword">const</span> <a class="code" href="a03131.html">IProperty</a> *prop; +01156 <span class="keywordflow">if</span> (<a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (property_name, prop)) +01157 { +01158 <span class="keyword">const</span> <a class="code" href="a03132.html">CPropertyString</a> *strProp = dynamic_cast<const CPropertyString *> (prop); +01159 <span class="keywordflow">if</span> (strProp) +01160 { +01161 result = strProp-><a class="code" href="a03132.html#NLLIGO_1_1CPropertyStringo1">String</a>; +01162 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01163 } +01164 <span class="keywordflow">else</span> +01165 { +01166 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string."</span>, property_name); +01167 } +01168 } +01169 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01170 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_11" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::vector< std::string > *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a string array property with its name. Return false if the property is not found or is not a string array property. +<p> +Definition at line <a class="el" href="a06195.html#l01174">1174</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l01102">NLLIGO::IPrimitive::getPropertyByName()</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a06196.html#l00107">NLLIGO::CPropertyStringArray::StringArray</a>. +<p> +<div class="fragment"><pre>01175 { +01176 <span class="comment">// Get the property</span> +01177 <a class="code" href="a03131.html">IProperty</a> *prop; +01178 <span class="keywordflow">if</span> (<a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (property_name, prop)) +01179 { +01180 <a class="code" href="a03133.html">CPropertyStringArray</a> *strProp = dynamic_cast<CPropertyStringArray *> (prop); +01181 <span class="keywordflow">if</span> (strProp) +01182 { +01183 result = &(strProp-><a class="code" href="a03133.html#NLLIGO_1_1CPropertyStringArrayo1">StringArray</a>); +01184 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01185 } +01186 <span class="keywordflow">else</span> +01187 { +01188 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string."</span>, property_name); +01189 } +01190 } +01191 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01192 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_12" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::string *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a string property with its name. Return false if the property is not found or is not a string property. +<p> +Definition at line <a class="el" href="a06195.html#l01130">1130</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l01102">NLLIGO::IPrimitive::getPropertyByName()</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a06196.html#l00088">NLLIGO::CPropertyString::String</a>. +<p> +<div class="fragment"><pre>01131 { +01132 <span class="comment">// Get the property</span> +01133 <a class="code" href="a03131.html">IProperty</a> *prop; +01134 <span class="keywordflow">if</span> (<a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_14">getPropertyByName</a> (property_name, prop)) +01135 { +01136 <a class="code" href="a03132.html">CPropertyString</a> *strProp = dynamic_cast<CPropertyString *> (prop); +01137 <span class="keywordflow">if</span> (strProp) +01138 { +01139 result = &(strProp-><a class="code" href="a03132.html#NLLIGO_1_1CPropertyStringo1">String</a>); +01140 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01141 } +01142 <span class="keywordflow">else</span> +01143 { +01144 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string."</span>, property_name); +01145 } +01146 } +01147 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01148 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_13" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03131.html">IProperty</a> *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a property with its name +<p> +Definition at line <a class="el" href="a06195.html#l01116">1116</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>. +<p> +<div class="fragment"><pre>01117 { +01118 <span class="comment">// Look for the property</span> +01119 std::map<std::string, IProperty*>::const_iterator ite = _Properties.find (property_name); +01120 <span class="keywordflow">if</span> (ite != _Properties.end ()) +01121 { +01122 result = ite->second; +01123 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01124 } +01125 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01126 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_14" doxytag="NLLIGO::CPrimZone::getPropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::getPropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>property_name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03131.html">IProperty</a> *& </td> + <td class="mdname" nowrap> <em>result</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a property with its name +<p> +Definition at line <a class="el" href="a06195.html#l01102">1102</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>. +<p> +Referenced by <a class="el" href="a06203.html#l00097">NLLIGO::CPrimitiveConfigurations::belong()</a>, <a class="el" href="a05903.html#l00242">NLLIGO::CLigoConfig::canBeChild()</a>, <a class="el" href="a05903.html#l00286">NLLIGO::CLigoConfig::canBeRoot()</a>, <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, <a class="el" href="a05903.html#l00367">NLLIGO::CLigoConfig::getPrimitiveClass()</a>, <a class="el" href="a05903.html#l00188">NLLIGO::CLigoConfig::getPrimitiveColor()</a>, <a class="el" href="a06195.html#l01130">NLLIGO::IPrimitive::getPropertyByName()</a>, <a class="el" href="a05903.html#l00224">NLLIGO::CLigoConfig::isPrimitiveDeletable()</a>, <a class="el" href="a05903.html#l00206">NLLIGO::CLigoConfig::isPrimitiveLinked()</a>, <a class="el" href="a05471.html#l00272">NLSOUND::CBackgroundSoundManager::loadAudioFromPrimitives()</a>, <a class="el" href="a05471.html#l00441">NLSOUND::CBackgroundSoundManager::loadEffectsFromPrimitives()</a>, <a class="el" href="a05471.html#l00410">NLSOUND::CBackgroundSoundManager::loadSamplesFromPrimitives()</a>, <a class="el" href="a05471.html#l00334">NLSOUND::CBackgroundSoundManager::loadSoundsFromPrimitives()</a>, <a class="el" href="a06195.html#l01396">NLLIGO::IPrimitive::read()</a>, and <a class="el" href="a06201.html#l00599">NLLIGO::CPrimitiveClass::CParameter::translateAutoname()</a>. +<p> +<div class="fragment"><pre>01103 { +01104 <span class="comment">// Look for the property</span> +01105 std::map<std::string, IProperty*>::const_iterator ite = _Properties.find (property_name); +01106 <span class="keywordflow">if</span> (ite != _Properties.end ()) +01107 { +01108 result = ite->second; +01109 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01110 } +01111 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01112 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonee4" doxytag="NLLIGO::CPrimZone::getSegmentDist" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> float NLLIGO::CPrimZone::getSegmentDist </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>p1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>p2</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>nearPos</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00847">847</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06682.html#l00115">NLMISC::CVector::norm()</a>, <a class="el" href="a05646.html#l00985">t</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +Referenced by <a class="el" href="a06195.html#l00649">contains()</a>. +<p> +<div class="fragment"><pre>00848 { +00849 <span class="comment">// too point, compute distance to the segment.</span> +00850 CVector V = (p2-p1).normed(); +00851 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a627">t</a> = ((<a class="code" href="a04223.html#a576">v</a>-p1)*V)/(p2-p1).norm(); +00852 <span class="keywordtype">float</span> distance; +00853 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a627">t</a> < 0.0f) +00854 { +00855 nearPos = p1; +00856 distance = (p1-<a class="code" href="a04223.html#a576">v</a>).<a class="code" href="a03128.html#NLMISC_1_1CVectorz2049_0">norm</a>(); +00857 } +00858 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a627">t</a> > 1.0f) +00859 { +00860 nearPos = p2; +00861 distance = (p2-<a class="code" href="a04223.html#a576">v</a>).<a class="code" href="a03128.html#NLMISC_1_1CVectorz2049_0">norm</a>(); +00862 } +00863 <span class="keywordflow">else</span> +00864 { +00865 nearPos = p1 + <a class="code" href="a04223.html#a627">t</a>*(p2-p1); +00866 distance = (<a class="code" href="a04223.html#a576">v</a>-nearPos).norm(); +00867 } +00868 +00869 <span class="keywordflow">return</span> distance; +00870 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_6" doxytag="NLLIGO::CPrimZone::insertChild" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::insertChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03123.html">IPrimitive</a> * </td> + <td class="mdname" nowrap> <em>primitive</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>index</em> = AtTheEnd</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Insert a child primitive before the index. The pointer will be deleted by the parent primitive using the ::delete operator. return false if the index is invalid +<p> +Definition at line <a class="el" href="a06195.html#l01349">1349</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00320">NLLIGO::IPrimitive::_Parent</a>, <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew1">NLLIGO::IPrimitive::AtTheEnd</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06195.html#l00984">NLLIGO::IPrimitive::updateChildId()</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01839">NLLIGO::CPrimitives::convertAddPrimitive()</a>, <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, and <a class="el" href="a06195.html#l01396">NLLIGO::IPrimitive::read()</a>. +<p> +<div class="fragment"><pre>01350 { +01351 <span class="comment">// At the end ?</span> +01352 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a566">index</a> == <a class="code" href="a03123.html#NLLIGO_1_1IPrimitivew0NLLIGO_1_1IPrimitivew1">AtTheEnd</a>) +01353 <a class="code" href="a04223.html#a566">index</a> = _Children.size (); +01354 +01355 <span class="comment">// Index valid ?</span> +01356 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a566">index</a>>_Children.size ()) +01357 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01358 +01359 <span class="comment">// Insert</span> +01360 _Children.insert (_Children.begin () + <a class="code" href="a04223.html#a566">index</a>, primitive); +01361 +01362 <span class="comment">// Update child id</span> +01363 <a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_20">updateChildId</a> (index); +01364 +01365 <span class="comment">// Link to the parent</span> +01366 primitive->_Parent = <span class="keyword">this</span>; +01367 +01368 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01369 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea5" doxytag="NLLIGO::CPrimZone::NLMISC_DECLARE_CLASS" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLLIGO::CPrimZone::NLMISC_DECLARE_CLASS </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03129.html">CPrimZone</a> </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned4" doxytag="NLLIGO::CPrimZone::read" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::CPrimZone::read </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname" nowrap> <em>xmlNode</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const char * </td> + <td class="mdname" nowrap> <em>filename</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>version</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02756.html">CLigoConfig</a> & </td> + <td class="mdname" nowrap> <em>config</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Reimplemented from <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_15">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00612">612</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06195.html#l00116">NLLIGO::ReadVector()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00613 { +00614 <span class="comment">// Read points</span> +00615 <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.clear (); +00616 <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.reserve (CIXml::countChildren (xmlNode, <span class="stringliteral">"PT"</span>)); +00617 xmlNodePtr ptNode = CIXml::getFirstChildNode (xmlNode, <span class="stringliteral">"PT"</span>); +00618 <span class="keywordflow">if</span> (ptNode) +00619 { +00620 <span class="keywordflow">do</span> +00621 { +00622 <span class="comment">// Read a vector</span> +00623 <a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.push_back (CPrimVector ()); +00624 <span class="keywordflow">if</span> (!<a class="code" href="a05375.html#a7">ReadVector</a> (<a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.back (), <a class="code" href="a05377.html#a2">filename</a>, ptNode)) +00625 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00626 } +00627 <span class="keywordflow">while</span> ((ptNode = CIXml::getNextChildNode (ptNode, <span class="stringliteral">"PT"</span>))); +00628 } +00629 +00630 <span class="keywordflow">return</span> IPrimitive::read (xmlNode, filename, version, config); +00631 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_10" doxytag="NLLIGO::CPrimZone::removeChild" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::removeChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>childId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Remove a child primitive +<p> +Definition at line <a class="el" href="a06195.html#l01319">1319</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06195.html#l00984">NLLIGO::IPrimitive::updateChildId()</a>. +<p> +<div class="fragment"><pre>01320 { +01321 <span class="keywordflow">if</span> (childId < _Children.size ()) +01322 { +01323 <span class="keyword">delete</span> _Children[childId]; +01324 _Children.erase (_Children.begin()+childId); +01325 <a class="code" href="a03123.html#NLLIGO_1_1IPrimitivez1900_20">updateChildId</a> (childId); +01326 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01327 } +01328 <span class="keywordflow">else</span> +01329 { +01330 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::removeChild : invalid index (index : %d, size %d)."</span>, childId, _Children.size ()); +01331 } +01332 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01333 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1899_11" doxytag="NLLIGO::CPrimZone::removeChildren" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLIGO::IPrimitive::removeChildren </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Remove all children primitives +<p> +Definition at line <a class="el" href="a06195.html#l01337">1337</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01959">NLLIGO::CPrimitives::convert()</a>, <a class="el" href="a06195.html#l00994">NLLIGO::IPrimitive::operator=()</a>, <a class="el" href="a06195.html#l01759">NLLIGO::CPrimitives::read()</a>, and <a class="el" href="a06195.html#l01373">NLLIGO::IPrimitive::~IPrimitive()</a>. +<p> +<div class="fragment"><pre>01338 { +01339 <span class="comment">// Erase children</span> +01340 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i<_Children.size (); i++) +01341 { +01342 <span class="keyword">delete</span> _Children[i]; +01343 } +01344 _Children.clear (); +01345 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_16" doxytag="NLLIGO::CPrimZone::removeProperties" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLIGO::IPrimitive::removeProperties </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Remove all the properties +<p> +Definition at line <a class="el" href="a06195.html#l01274">1274</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01959">NLLIGO::CPrimitives::convert()</a>, <a class="el" href="a06195.html#l00994">NLLIGO::IPrimitive::operator=()</a>, <a class="el" href="a06195.html#l01759">NLLIGO::CPrimitives::read()</a>, and <a class="el" href="a06195.html#l01373">NLLIGO::IPrimitive::~IPrimitive()</a>. +<p> +<div class="fragment"><pre>01275 { +01276 std::map<std::string, IProperty*>::iterator ite = _Properties.begin (); +01277 <span class="keywordflow">while</span> (ite != _Properties.end ()) +01278 { +01279 <span class="keyword">delete</span> ite->second; +01280 ite++; +01281 } +01282 _Properties.clear (); +01283 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_17" doxytag="NLLIGO::CPrimZone::removeProperty" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::removeProperty </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Remove a property This is method (iterate a list) is slower than removePropertyByName (look up in a map). +<p> +Definition at line <a class="el" href="a06195.html#l01240">1240</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01241 { +01242 <span class="comment">// Look for the property</span> +01243 std::map<std::string, IProperty*>::iterator ite = _Properties.begin (); +01244 <span class="keywordflow">while</span> (ite != _Properties.end ()) +01245 { +01246 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a566">index</a> == 0) +01247 { +01248 _Properties.erase (ite); +01249 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01250 } +01251 <a class="code" href="a04223.html#a566">index</a>--; +01252 ite ++; +01253 } +01254 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLLIGO::IPrimitive::removeProperty : invalid index (index : %d, size : %d)."</span>, index, _Properties.size ()); +01255 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01256 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitivez1900_18" doxytag="NLLIGO::CPrimZone::removePropertyByName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLIGO::IPrimitive::removePropertyByName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>property_name</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Remove a property by its name +<p> +Definition at line <a class="el" href="a06195.html#l01260">1260</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a06196.html#l00326">NLLIGO::IPrimitive::_Properties</a>. +<p> +<div class="fragment"><pre>01261 { +01262 <span class="comment">// Look for the property</span> +01263 std::map<std::string, IProperty*>::iterator ite = _Properties.find (property_name); +01264 <span class="keywordflow">if</span> (ite != _Properties.end ()) +01265 { +01266 _Properties.erase (ite); +01267 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01268 } +01269 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01270 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZonea6" doxytag="NLLIGO::CPrimZone::serial" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLIGO::CPrimZone::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06195.html#l00912">912</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +<div class="fragment"><pre>00913 { +00914 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_3">xmlPushBegin</a> (<span class="stringliteral">"ZONE"</span>); +00915 +00916 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_5">xmlSetAttrib</a> (<span class="stringliteral">"NAME"</span>); +00917 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (Name); +00918 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_5">xmlSetAttrib</a> (<span class="stringliteral">"LAYER"</span>); +00919 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a> (Layer); +00920 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_4">xmlPushEnd</a> (); +00921 +00922 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2033_9">serialCont</a> (VPoints); +00923 +00924 f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2039_2">xmlPop</a> (); +00925 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoned5" doxytag="NLLIGO::CPrimZone::write" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLIGO::CPrimZone::write </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname" nowrap> <em>xmlNode</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const char * </td> + <td class="mdname" nowrap> <em>filename</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [private, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a property If the property already exist, the method does nothing and returns false. The pointer will be deleted by the primitive using the ::delete operator. +<p> +Reimplemented from <a class="el" href="a03123.html#NLLIGO_1_1IPrimitivez1900_19">NLLIGO::IPrimitive</a>. +<p> +Definition at line <a class="el" href="a06195.html#l00635">635</a> of file <a class="el" href="a06195.html">primitive.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06195.html#l00142">NLLIGO::WriteVector()</a>. +<p> +<div class="fragment"><pre>00636 { +00637 <span class="comment">// Save the points</span> +00638 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i<<a class="code" href="a03129.html#NLLIGO_1_1CPrimZoneo3">VPoints</a>.size (); i++) +00639 { +00640 xmlNodePtr ptNode = xmlNewChild ( xmlNode, NULL, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"PT"</span>, NULL); +00641 <a class="code" href="a05375.html#a8">WriteVector</a> (VPoints[i], ptNode); +00642 } +00643 +00644 IPrimitive::write (xmlNode, filename); +00645 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLLIGO_1_1IPrimitiveo0" doxytag="NLLIGO::CPrimZone::Expanded" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo0">NLLIGO::IPrimitive::Expanded</a><code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00163">163</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +Referenced by <a class="el" href="a06195.html#l00994">NLLIGO::IPrimitive::operator=()</a>, <a class="el" href="a06195.html#l01396">NLLIGO::IPrimitive::read()</a>, and <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitiveo1" doxytag="NLLIGO::CPrimZone::Layer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::string <a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo1">NLLIGO::IPrimitive::Layer</a><code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00159">159</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01910">NLLIGO::CPrimitives::convertPrimitive()</a>, and <a class="el" href="a06195.html#l00994">NLLIGO::IPrimitive::operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1IPrimitiveo2" doxytag="NLLIGO::CPrimZone::Name" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::string <a class="el" href="a03123.html#NLLIGO_1_1IPrimitiveo2">NLLIGO::IPrimitive::Name</a><code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00160">160</a> of file <a class="el" href="a06196.html">primitive.h</a>. +<p> +Referenced by <a class="el" href="a06195.html#l01839">NLLIGO::CPrimitives::convertAddPrimitive()</a>, and <a class="el" href="a06195.html#l00994">NLLIGO::IPrimitive::operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLIGO_1_1CPrimZoneo3" doxytag="NLLIGO::CPrimZone::VPoints" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="a03127.html">CPrimVector</a>> <a class="el" href="a03129.html#NLLIGO_1_1CPrimZoneo3">NLLIGO::CPrimZone::VPoints</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06196.html#l00442">442</a> of file <a class="el" href="a06196.html">primitive.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06196.html">primitive.h</a><li><a class="el" href="a06195.html">primitive.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 12:50:47 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |