Class: Sketchup::Face
- Inherits:
-
Drawingelement
- Object
- Entity
- Drawingelement
- Sketchup::Face
- Defined in:
- lib/sketchup-api-stubs/stubs/Sketchup/Face.rb
Overview
Faces in SketchUp are flat, 2-sided polygons with 3 or more sides.
Constant Summary collapse
- PointInside =
Constants
nil
- PointNotOnPlane =
Stub value.
nil
- PointOnEdge =
Stub value.
nil
- PointOnFace =
Stub value.
nil
- PointOnVertex =
Stub value.
nil
- PointOutside =
Stub value.
nil
- PointUnknown =
Stub value.
nil
Instance Method Summary collapse
-
#all_connected ⇒ Array<Sketchup::Entity>
The all_connected method retrieves all of the entities connected to a face.
-
#area(*args) ⇒ Object
The area method is used to retrieve the area of a face.
-
#back_material ⇒ Sketchup::Material?
The back_material method is used to retrieve the material assigned to the back side of the face.
-
#back_material=(material) ⇒ Sketchup::Material
The back_material= method is used to set the material assigned to the back side of the face.
-
#classify_point(point) ⇒ Integer
The classify_point method is used to determine if a given Point3d is on the referenced Face.
-
#clear_texture_projection(frontside) ⇒ Object
The #clear_texture_projection method is used to clear the texture projection.
-
#edges ⇒ Array<Sketchup::Edge>
The edges method is used to get an array of edges that bound the face.
-
#followme(*args) ⇒ Object
The #followme method is used to create a shape by making the face follow along an array of edges.
-
#get_glued_instances ⇒ Array<Sketchup::ComponentInstance, Sketchup::Group, Sketchup::Image>
The get_glued_instances method returns an Array any ComponentInstances that are glued to the face.
-
#get_texture_projection(frontside) ⇒ Geom::Vector3d?
The #get_texture_projection method will return a vector representing the projection for either the front or back side of the face.
-
#get_UVHelper(*args) ⇒ Sketchup::UVHelper
The get_UVHelper object is used to retrieve a UVHelper object for use in texture manipulation on a face.
-
#loops ⇒ Array<Sketchup::Loop>
The loops method is used to get an array of all of the loops that bound the face.
-
#material ⇒ Sketchup::Material?
The material method is used to retrieve the material assigned to the front of the face.
-
#material=(material) ⇒ Sketchup::Material
The material= method is used to set the material assigned to the front side of the face.
-
#mesh(flags = 0) ⇒ Geom::PolygonMesh
The mesh method creates a polygon mesh that represents the face.
-
#normal ⇒ Geom::Vector3d
The normal method is used to retrieve the 3D vector normal to the face in the front direction.
-
#outer_loop ⇒ Sketchup::Loop
This method is used to retrieve the outer loop that bounds the face.
-
#plane ⇒ Array(Float, Float, Float, Float)
The plane method is used to retrieve the plane of the face.
-
#position_material(*args) ⇒ Sketchup::Face, false
The #position_material method is used to position a material on a face.
-
#pushpull(distance, copy = false) ⇒ nil
The pushpull method is used to perform a push/pull on a face.
-
#reverse! ⇒ Sketchup::Face, false
The reverse! method is used to reverse the face’s orientation, meaning the front becomes the back.
-
#set_texture_projection(vector, frontside) ⇒ Boolean
deprecated
Deprecated.
This function never worked correctly. It’s not capable of controlling the position and orientation of the texture. In some cases it produced an invalid model. After SketchUp 2021.1 the method will raise
NotImplementedError
. -
#texture_positioned?(front) ⇒ Boolean
The #texture_positioned? method is used to check if the face has a texture that is positioned.
-
#texture_projected?(front) ⇒ Boolean
The #texture_projected? method is used to check if the face has a texture that is projected.
-
#uv_tile_at(position, front) ⇒ Array<Geom::Point3d>?
The #uv_tile_at method is used to get the corner positions (model and UV) of a UV tile.
-
#vertices ⇒ Array<Sketchup::Vertex>
The vertices method is used to get an array of all of the vertices that bound the face.
Methods inherited from Drawingelement
#bounds, #casts_shadows=, #casts_shadows?, #erase!, #hidden=, #hidden?, #layer, #layer=, #receives_shadows=, #receives_shadows?, #visible=, #visible?
Methods inherited from Entity
#add_observer, #attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #remove_observer, #set_attribute, #to_s, #typename, #valid?
Instance Method Details
#all_connected ⇒ Array<Sketchup::Entity>
The all_connected method retrieves all of the entities connected to a face.
41 42 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 41 def all_connected end |
#area ⇒ Float #area(transform) ⇒ Float
The area method is used to retrieve the area of a face.
You can pass in an optional Transformation (or an array that can represent a transformation), to correct for a parent group’s transformation. For example, if a face is inside of a group that is scaled to 200%, the area method will return the unscaled area of the face. So by passing a 200% transformation object to this method, you can account for that to get the “visual” area of the face.
79 80 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 79 def area(*args) end |
#back_material ⇒ Sketchup::Material?
The back_material method is used to retrieve the material assigned to the back side of the face.
107 108 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 107 def back_material end |
#back_material=(material) ⇒ Sketchup::Material
The back_material= method is used to set the material assigned to the back side of the face.
134 135 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 134 def back_material=(material) end |
#classify_point(point) ⇒ Integer
The classify_point method is used to determine if a given Point3d is on the referenced Face.
It is important that return value comparisons be made against the symbolic constants (i.e. PointUnknown, PointInside, PointOnVertex, etc.) rather than the absolute integer values as these values may change from one release to the next.
200 201 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 200 def classify_point(point) end |
#clear_texture_projection(frontside) ⇒ Object
The #clear_texture_projection method is used to clear the texture projection. This is similar to toggling off Projection from the Position Texture tool in the UI.
215 216 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 215 def clear_texture_projection(frontside) end |
#edges ⇒ Array<Sketchup::Edge>
The edges method is used to get an array of edges that bound the face.
237 238 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 237 def edges end |
#followme(edges) ⇒ Boolean #followme(edge) ⇒ Boolean
The #followme method is used to create a shape by making the face follow along an array of edges.
276 277 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 276 def followme(*args) end |
#get_glued_instances ⇒ Array<Sketchup::ComponentInstance, Sketchup::Group, Sketchup::Image>
The get_glued_instances method returns an Array any ComponentInstances that are glued to the face.
346 347 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 346 def get_glued_instances end |
#get_texture_projection(frontside) ⇒ Geom::Vector3d?
The #get_texture_projection method will return a vector representing the projection for either the front or back side of the face.
393 394 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 393 def get_texture_projection(frontside) end |
#get_UVHelper(front = true, back = true) ⇒ Sketchup::UVHelper #get_UVHelper(front = true, back = true, texturewriter) ⇒ Sketchup::UVHelper
The get_UVHelper object is used to retrieve a UVHelper object for use in texture manipulation on a face.
322 323 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 322 def get_UVHelper(*args) end |
#loops ⇒ Array<Sketchup::Loop>
The loops method is used to get an array of all of the loops that bound the face.
417 418 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 417 def loops end |
#material ⇒ Sketchup::Material?
The material method is used to retrieve the material assigned to the front of the face. (This method is inherited from the Drawingelement parent class.)
446 447 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 446 def material end |
#material=(material) ⇒ Sketchup::Material
The material= method is used to set the material assigned to the front side of the face. (This method is inherited from the Drawingelement parent class.)
474 475 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 474 def material=(material) end |
#mesh(flags = 0) ⇒ Geom::PolygonMesh
The mesh method creates a polygon mesh that represents the face. See the Geom::PolygonMesh class for more information.
Valid flags are:
-
0
: Include PolygonMeshPoints, -
1
: Include PolygonMeshUVQFront, -
2
: Include PolygonMeshUVQBack, -
4
: Include PolygonMeshNormals.
Use bitwise OR to combine flags. A value of 7
will include all flags, for example.
517 518 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 517 def mesh(flags = 0) end |
#normal ⇒ Geom::Vector3d
The normal method is used to retrieve the 3D vector normal to the face in the front direction.
541 542 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 541 def normal end |
#outer_loop ⇒ Sketchup::Loop
This method is used to retrieve the outer loop that bounds the face.
564 565 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 564 def outer_loop end |
#plane ⇒ Array(Float, Float, Float, Float)
The plane method is used to retrieve the plane of the face. See the Array class for information on how planes are stored.
588 589 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 588 def plane end |
#position_material(material, points, on_front) ⇒ Sketchup::Face, false #position_material(material, points, on_front, projection) ⇒ Sketchup::Face, false
The #position_material method is used to position a material on a face.
The points
argument must contain 2, 4, 6 or 8 points. The points are used in pairs to describe where a point in the texture image is positioned on the Face. The first point in each pair is a 3D point in the model. The second point in each pair of points is a 2D point that gives the (u,v) coordinates of a point in the image to match up with the 3D point.
681 682 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 681 def position_material(*args) end |
#pushpull(distance, copy = false) ⇒ nil
The pushpull method is used to perform a push/pull on a face.
The distance is measured in the direction that the face normal is pointing.
713 714 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 713 def pushpull(distance, copy = false) end |
#reverse! ⇒ Sketchup::Face, false
The reverse! method is used to reverse the face’s orientation, meaning the front becomes the back.
737 738 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 737 def reverse! end |
#set_texture_projection(vector, frontside) ⇒ Boolean
This function never worked correctly. It’s not capable of controlling the position and orientation of the texture. In some cases it produced an invalid model. After SketchUp 2021.1 the method will raise NotImplementedError
.
The #set_texture_projection method is used to set the texture projection direction.
762 763 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 762 def set_texture_projection(vector, frontside) end |
#texture_positioned?(front) ⇒ Boolean
The #texture_positioned? method is used to check if the face has a texture that is positioned.
A texture is positioned when it’s not using the default texture coordinates.
When a user uses the Paint Bucket Tool to apply a material sampled from the Material Browser it will use default texture coordinates and not be positioned. It will be positioned if the user uses the Position Texture Tool.
When an API user uses Drawinglement#material= the texture is not positioned. It will be positioned when the API user uses #position_material. It it also positioned of the face was crafted via Geom::PolygonMesh.
799 800 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 799 def texture_positioned?(front) end |
#texture_projected?(front) ⇒ Boolean
The #texture_projected? method is used to check if the face has a texture that is projected.
A texture is projected when the user enables this property via the Position Texture Tool.
It is also projected when the API user passes a projection vector to #position_material.
824 825 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 824 def texture_projected?(front) end |
#uv_tile_at(position, front) ⇒ Array<Geom::Point3d>?
The #uv_tile_at method is used to get the corner positions (model and UV) of a UV tile.
The UV tile bounds the given reference point on the plane of the face. If the reference isn’t on the plane of the face it will be projected onto it.
The world coordinates are on the plane of the face unless the texture is projected. When the texture is projected the the world points are on an arbitrary plane that is perpendicular to the projection direction.
The returned coordinates are arranged to be compatible with #position_material.
Getting the bounds of the UV tile under the cursor:
The red quadrilateral represents the model points returned.
890 891 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 890 def uv_tile_at(position, front) end |
#vertices ⇒ Array<Sketchup::Vertex>
The vertices method is used to get an array of all of the vertices that bound the face.
914 915 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 914 def vertices end |