PatchControlArray& getControlPoints(){
return m_ctrl;
}
+
+// Same as above, just for const arguments
+const PatchControlArray& getControlPoints() const {
+ return m_ctrl;
+}
+
PatchControlArray& getControlPointsTransformed(){
return m_ctrlTransformed;
}
void CapTexture();
void NaturalTexture();
void ProjectTexture( int nAxis );
+void createThickenedOpposite(const Patch& sourcePatch, const float thickness, const int axis, bool& no12, bool& no34 );
+void createThickenedWall(const Patch& sourcePatch, const Patch& targetPatch, const int wallIndex);
void undoSave(){
if ( m_map != 0 ) {
void setSelected( bool select ){
m_selectable.setSelected( select );
+ if ( !select && parent() ){
+ Selectable* sel_parent = Instance_getSelectable( *parent() );
+ if ( sel_parent && sel_parent->isSelected() )
+ sel_parent->setSelected( false );
+ }
}
bool isSelected() const {
return m_selectable.isSelected();
}
}
+void invertComponentSelection(){
+ for ( PatchControlInstances::iterator i = m_ctrl_instances.begin(); i != m_ctrl_instances.end(); ++i )
+ {
+ ( *i ).m_selectable.setSelected( !( *i ).m_selectable.isSelected() );
+ }
+}
+
void selectPlanes( Selector& selector, SelectionTest& test, const PlaneCallback& selectedPlaneCallback ){
test.BeginMesh( localToWorld() );
m_functor( *patch );
}
}
+ else{
+ return false;
+ }
return true;
}
};
m_functor( *patch );
}
}
+ else{
+ return false;
+ }
return true;
}
};
m_functor( *patch );
}
}
+ else{
+ return false;
+ }
return true;
}
};