32 typedef std::vector<std::pair<DDLogicalPart,std::pair<const DDPartSelection*, const DDsvalues_type*> > > strange_type;
34 rep().updateLogicalPart(v);
35 strange_type::iterator it = v.begin();
36 for(; it != v.end(); ++it) {
37 if (it->first.isDefined().second) {
38 it->first.addSpecifics(it->second);
39 DCOUT(
'C',
"add specifics to LP: partsel=" << *(it->second.first) );
42 std::string serr(
"Definition of LogicalPart missing! name=");
43 serr+= it->first.ddname().fullname();
55 return rep().selection();
61 return rep().specifics();
66 return rep().nodes(result);
92 os << *(defined.first) <<
" ";
97 os <<
"* specific not defined * ";
101 os <<
"* specific not declared * ";
108 std::ostream & operator<<( std::ostream & os, const std::vector<std::string> &
v)
110 std::vector<std::string>::const_iterator it =
v.begin();
111 for (; it!=
v.end(); ++it) {
112 os << *it << std::endl;
const DDI::rep_traits< DDName, DDI::Specific * >::reference rep() const
std::vector< std::string > selectors_type
def_type isDefined() const
DDName is used to identify DDD entities uniquely.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
static value_type & instance()
std::pair< bool, DDExpandedView > node() const
Calculates the geometrical history of a fully specified PartSelector.
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
const DDsvalues_type & specifics() const
Reference to the user-data attached to all nodes selected by the selections-strings given through sel...
bool nodes(DDNodes &nds) const
Calculates all expanded-nodes which are selected by the selection-strings.
DDSpecifics()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
#define DCOUT(M_v_Y, M_v_S)
Interface to attach user specific data to nodes in the expanded-view.
const std::vector< DDPartSelection > & selection() const
Gives a reference to the collection of part-selections.